This commit is contained in:
2025-02-02 18:45:42 +05:30
parent ecebef5a4a
commit c4c8ba334e
6 changed files with 210 additions and 118 deletions

View File

@@ -2,7 +2,7 @@
### Xeorl - The All-In-One, Fully Free to Use Advanced Link Shortener and Management Tool - Powered by [@xodivorce](https://instagram.com/xodivorce) ✨
[![status](https://img.shields.io/badge/status-active-brightgreen.svg?style=flat)](https://github.com/xeorl/xeorl-portfolio/)
[![version](https://img.shields.io/badge/version-v4.1.3-yellow.svg?style=flat)](https://github.com/xeorl/xeorl-portfolio/)
[![version](https://img.shields.io/badge/version-v4.1.4-yellow.svg?style=flat)](https://github.com/xeorl/xeorl-portfolio/)
[![PRs](https://img.shields.io/badge/PRs-welcome-blue.svg?style=flat)](https://github.com/xeorl/xeorl-portfolio/)
<br></br>

View File

@@ -1,6 +1,9 @@
Options -Indexes
RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteCond %{REQUEST_FILENAME} !-f
# Check if the request is not for an existing directory or file
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
# Rewrite all other URLs to index.php with the 'url' parameter
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

View File

@@ -10,7 +10,7 @@ if (session_status() === PHP_SESSION_NONE) {
<div class="logo">
<img src="assets/images/url.png" alt="Xeorl Logo" class="logo-img">
<span>Xeorl</span>
<span class="version-number">3.2.0</span>
<span class="version-number">4.1.4</span>
</div>
<label class="burger" for="burger">
<input type="checkbox" id="burger">

View File

@@ -31,11 +31,15 @@ main {
}
.shorten-section p {
color:#3C4B62;
color: #3C4B62;
margin-top: -15px;
margin-bottom: 45px;
max-width: 550px;
font-size: 18px;
line-height: 35px;
line-height: 35px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.shorten-form {
display: flex;
@@ -59,9 +63,6 @@ main {
outline: none;
box-sizing: border-box;
transition: box-shadow 0.3s ease;
user-select: text; /* Allow text selection and enable pasting */
-webkit-user-select: text; /* For Safari */
-moz-user-select: text; /* For Firefox */
}
.shorten-form input::placeholder {
@@ -420,7 +421,7 @@ main {
font-size: 35px;
}
.shorten-section p {
font-size: 14px;
font-size: 16px;
line-height: 30px;
}
.shortened-links h2 {
@@ -429,13 +430,13 @@ main {
white-space: nowrap;
}
.shorten-form input {
padding: 14px 35px;
padding: 15px 38px;
width: 290px;
font-size: 12px;
}
.shorten-form button {
padding: 14px 35px;
padding: 15px 36px;
font-weight: 600;
font-size: 12px;
}
@@ -474,14 +475,66 @@ main {
/* For screens 487px and below */
@media (max-width: 487px) {
body {
font-family: "Montserrat", sans-serif;
margin: 0;
padding: 0;
color: #333333;
}
#links-list {
max-width: 440px;
font-size: 12px;
}
.shorten-section p {
font-size: 18px;
line-height: 25px;
}
.link-info {
max-width: 270px;
}
.shorten-form input {
padding: 15px 35px;
width: 290px;
font-size: 12px;
border: 1px solid #171C24;
}
.shorten-form input::placeholder {
color: #171C24; /* Light gray placeholder text */
font-weight: 500;
}
.shorten-form button {
padding: 15px 35px;
background-color: #171C24;
border: 1px solid #171C24;
font-weight: 600;
font-size: 12px;
}
#links-list li {
border: 1px solid #171C24;
padding: 20px;
border-radius: 8px;
margin-bottom: 15px;
}
.shortened-links h2 {
color: #595a5a;
}
.section-paragraph {
max-width: 300px;
margin: 1em auto;
font-size: 18px;
line-height: 1.8;
color: #3C4B62;
text-align: left;
padding: 0 15px; /* Ensures text breaks within the container */
white-space: normal; /* Allows normal text wrapping */
}
}
/* For screens 477px and below */
@media (max-width: 477px) {
@@ -493,7 +546,7 @@ main {
font-size: 30px;
}
.shorten-section p {
font-size: 12px;
font-size: 18px;
line-height: 25px;
}
.shortened-links h2 {
@@ -502,15 +555,23 @@ main {
white-space: nowrap;
}
.shorten-form input {
padding: 14px 35px;
width: 290px;
padding: 15px 35px;
width: 350px;
font-size: 12px;
border: 1px solid #171C24;
}
.shorten-form input::placeholder {
color: #171C24; /* Light gray placeholder text */
font-weight: 500;
}
.shorten-form button {
padding: 14px 35px;
padding: 15px 35px;
background-color: #171C24;
font-weight: 600;
font-size: 12px;
}
#links-list {
@@ -575,7 +636,7 @@ main {
font-size: 25px;
}
.shorten-section p {
font-size: 10px;
font-size: 16px;
line-height: 20px;
}
.shortened-links h2 {
@@ -584,13 +645,13 @@ main {
white-space: nowrap;
}
.shorten-form input {
padding: 14px 35px;
padding: 15px 36px;
width: 250px;
font-size: 12px;
}
.shorten-form button {
padding: 14px 35px;
padding: 15px 36px;
font-weight: 600;
font-size: 12px;
}
@@ -636,7 +697,7 @@ main {
font-size: 25px;
}
.shorten-section p {
font-size: 10px;
font-size: 16px;
line-height: 20px;
}
.shortened-links h2 {
@@ -645,13 +706,13 @@ main {
white-space: nowrap;
}
.shorten-form input {
padding: 14px 25px;
padding: 15px 26px;
width: 200px;
font-size: 12px;
}
.shorten-form button {
padding: 14px 25px;
padding: 15px 26px;
font-weight: 600;
font-size: 12px;
}
@@ -696,7 +757,7 @@ main {
font-size: 25px;
}
.shorten-section p {
font-size: 10px;
font-size: 18px;
line-height: 20px;
}
.shortened-links h2 {
@@ -705,13 +766,13 @@ main {
white-space: nowrap;
}
.shorten-form input {
padding: 14px 25px;
padding: 15px 26px;
width: 200px;
font-size: 12px;
}
.shorten-form button {
padding: 14px 25px;
padding: 15px 26px;
font-weight: 600;
font-size: 12px;
}
@@ -744,5 +805,26 @@ main {
width: 18px;
height: 18px;
}
.section-paragraph {
max-width: 400px;
font-size: 17px;
line-height: 1.8;
color: #3C4B62;
text-align: left;
padding: 0 6px; /* Ensures text breaks within the container */
white-space: normal; /* Allows normal text wrapping */
}
}
@media (max-width: 361px) {
.section-paragraph {
max-width: 500px;
font-size: 17px;
line-height: 1.8;
color: #3C4B62;
text-align: left;
padding: 0 6px; /* Ensures text breaks within the container */
white-space: normal; /* Allows normal text wrapping */
}
}

94
htdocs/home.php Normal file
View File

@@ -0,0 +1,94 @@
<?php
require 'core/process.php';
require 'core/get_statistics.php'; // Include the statistics file
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Xeorl - Link Shortener and Management Tool</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Xeorl - The All-In-One, Fully Free to Use Advanced Link Shortener and Management Tool - Equipped with Multi-layered URL encryption, URL metadata remover, Mass shrinker, Quick link and Many more! - Powered by @xodivorce...">
<link rel="icon" type="image/png" href="./assets/images/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="./assets/images/favicon.svg" />
<link rel="shortcut icon" href="./assets/images/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="./assets/images/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="Xeorl">
<link rel="manifest" href="./assets/images/site.webmanifest" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/css/_home.css">
</head>
<body>
<?php include "assets/_header.php"; ?>
<main>
<!-- Shorten Section -->
<section class="shorten-section" style="user-select: none;">
<h1>Open source inits.</h1>
<h2>Lovingly hand-crafted.</h2>
<p>Premium link shortening for use in web, iOS, Android, and desktop apps. Supported for urls. Completely open source, MIT licensed and built by <a href="https://www.xodivorce.in" target="_blank" class="custom-link">xodivorce</a>.</p>
<div class="shorten-form">
<input type="text" id="url-input" placeholder="Type a link...">
<button id="shorten-btn">SHORTEN</button>
</div>
<div class="shortened-links">
<h2>Your shortened links :</h2>
<ul id="links-list">
</ul>
</div>
</section>
<!-- Dashboard Statistics Section -->
<section class="dashboard-stats-section" style="user-select: none;">
<h1 class="section-heading">Numbers Speak For Themselves.</h1>
<h2 class="section-subheading">Challenged By URLs, Defeated By None.</h2>
<p class="section-paragraph">
Even though were a growing community with a close-knit user base,
our commitment to you is always personal. Were here 24/7
to support and resolve any issues you have because your satisfaction
means everything to us. For any issues, email us at <a href="mailto:hey@xodivorce.in" class="contact-link">hey@xodivorce.in</a>.
</p>
<div class="dashboard-stats">
<div class="stat-item">
<img src="assets/images/total.png" alt="Total Clicks" class="stat-icon total-icon">
<h3>Total Clicks</h3>
<p><?php echo $total_clicks; ?></p>
</div>
<div class="stat-item">
<img src="assets/images/links.png" alt="Total Links" class="stat-icon links-icon">
<h3>Total URLs</h3>
<p><?php echo $total_links; ?></p>
</div>
<div class="stat-item">
<img src="assets/images/users.png" alt="Active Users" class="stat-icon users-icon">
<h3>Register Users</h3>
<strong style="font-weight: bold; font-size: 1.5em;"><?php echo "2,407"; ?></strong>
</div>
</div>
</section>
<!-- How to Start Section -->
<section class="how-to-start-section" style="user-select: none;">
<h1 class="section-heading">Just Three Simple Steps</h1>
<h2 class="section-subheading">How to Get Started?</h2>
<p class="section-paragraph">Starting is easy! Follow these three simple steps to begin earning:</p>
<div class="steps-list">
<h3>1. Create an Account</h3>
<p>Signing up with us is quick and completely free. Once registered, youll gain access to all our amazing features. Start your journey to simpler link management today!</p>
<h3>2. Shorten Your Link</h3>
<p>Turn long, cumbersome URLs into short, shareable links with ease. Our tool makes the process simple, fast, and entirely cost-free. Create customized links in seconds!</p>
<h3>3. Earn Money</h3>
<p>Share your shortened links with friends, family, or your audience. Each click earns you money, helping you generate income effortlessly. Start sharing today and see your earnings grow!</p>
</div>
</section>
</main>
<?php include 'assets/_footer.php'; ?>
<script src="assets/js/_home.js"></script>
<script src="assets/js/developer_tools.js"></script>
</body>
</html>

View File

@@ -1,94 +1,7 @@
<?php
require 'core/process.php';
require 'core/get_statistics.php'; // Include the statistics file
?>
require 'core/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Xeorl - Link Shortener and Management Tool</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Xeorl - The All-In-One, Fully Free to Use Advanced Link Shortener and Management Tool - Equipped with Multi-layered URL encryption, URL metadata remover, Mass shrinker, Quick link and Many more! - Powered by @xodivorce...">
<link rel="icon" type="image/png" href="./assets/images/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="./assets/images/favicon.svg" />
<link rel="shortcut icon" href="./assets/images/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="./assets/images/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="Xeorl">
<link rel="manifest" href="./assets/images/site.webmanifest" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/css/_home.css">
</head>
<body>
<?php include "assets/_header.php"; ?>
<main>
<!-- Shorten Section -->
<section class="shorten-section" style="user-select: none;">
<h1>Open source inits.</h1>
<h2>Lovingly hand-crafted.</h2>
<p>Premium link shortening for use in web, iOS, Android, and<br> desktop apps. Supported for urls. Completely open source, MIT<br> licensed and built by <a href="https://www.xodivorce.in" target="_blank" class="custom-link">xodivorce</a>.</p>
<div class="shorten-form">
<input type="text" id="url-input" placeholder="Type a link...">
<button id="shorten-btn">SHORTEN</button>
</div>
<div class="shortened-links">
<h2>Your shortened links :</h2>
<ul id="links-list">
</ul>
</div>
</section>
<!-- Dashboard Statistics Section -->
<section class="dashboard-stats-section" style="user-select: none;">
<h1 class="section-heading">Numbers Speak For Themselves.</h1>
<h2 class="section-subheading">Challenged By URLs, Defeated By None.</h2>
<p class="section-paragraph">
Even though were a growing community with a close-knit user base,
our commitment to you is always personal. Were here 24/7
to support and resolve any issues you have because your satisfaction
means everything to us. For any issues, email us at <a href="mailto:hey@xodivorce.in" class="contact-link">hey@xodivorce.in</a>.
</p>
<div class="dashboard-stats">
<div class="stat-item">
<img src="assets/images/total.png" alt="Total Clicks" class="stat-icon total-icon">
<h3>Total Clicks</h3>
<p><?php echo $total_clicks; ?></p>
</div>
<div class="stat-item">
<img src="assets/images/links.png" alt="Total Links" class="stat-icon links-icon">
<h3>Total URLs</h3>
<p><?php echo $total_links; ?></p>
</div>
<div class="stat-item">
<img src="assets/images/users.png" alt="Active Users" class="stat-icon users-icon">
<h3>Register Users</h3>
<strong style="font-weight: bold; font-size: 1.5em;"><?php echo "2,407"; ?></strong>
</div>
</div>
</section>
<!-- How to Start Section -->
<section class="how-to-start-section" style="user-select: none;">
<h1 class="section-heading">Just Three Simple Steps</h1>
<h2 class="section-subheading">How to Get Started?</h2>
<p class="section-paragraph">Starting is easy! Follow these three simple steps to begin earning:</p>
<div class="steps-list">
<h3>1. Create an Account</h3>
<p>Signing up with us is quick and completely free. Once registered, youll gain access to all our amazing features. Start your journey to simpler link management today!</p>
<h3>2. Shorten Your Link</h3>
<p>Turn long, cumbersome URLs into short, shareable links with ease. Our tool makes the process simple, fast, and entirely cost-free. Create customized links in seconds!</p>
<h3>3. Earn Money</h3>
<p>Share your shortened links with friends, family, or your audience. Each click earns you money, helping you generate income effortlessly. Start sharing today and see your earnings grow!</p>
</div>
</section>
</main>
<?php include 'assets/_footer.php'; ?>
<script src="assets/js/_home.js"></script>
<script src="assets/js/developer_tools.js"></script>
</body>
</html>
require 'home.php';
?>