OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
3-31-025chanakya
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2025 11:18:49 AM
rwxr-xr-x
📄
.htaccess
860 bytes
03/26/2025 03:47:46 AM
rw-r--r--
📁
.vscode
-
03/26/2025 03:47:57 AM
rwxr-xr-x
📁
CreateLeadPage
-
03/26/2025 04:16:47 AM
rwxr-xr-x
📄
ImageMagick-7.1.1-45-Q16-HDRI-x64-dll.exe
22.2 MB
03/26/2025 03:47:54 AM
rw-r--r--
📁
Xpress
-
03/26/2025 04:21:24 AM
rwxr-xr-x
📄
XpressPage.php
47.13 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
about.html
3.26 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
account.php
47.77 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
activate.php
2.19 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
add_channel.php
9.7 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
add_to_channel.php
980 bytes
03/26/2025 03:47:46 AM
rw-r--r--
📁
admin
-
03/26/2025 04:16:40 AM
rwxr-xr-x
📄
analytics.php
37.71 KB
03/26/2025 03:47:46 AM
rw-r--r--
📁
assets
-
03/26/2025 04:16:41 AM
rwxr-xr-x
📁
audio
-
03/26/2025 03:48:03 AM
rwxr-xr-x
📄
businessLp.php
46.33 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
bussLp.php
57.87 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
card-news.php
6.2 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
channel.php
36.21 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
chattest.php
8.66 KB
03/26/2025 03:47:46 AM
rw-r--r--
📁
clients
-
03/26/2025 03:48:03 AM
rwxr-xr-x
📄
collections.php
94.62 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
comments.php
1.67 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
composer.json
65 bytes
03/26/2025 03:47:46 AM
rw-r--r--
📄
composer.lock
4.03 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
contact.html
3.01 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
cookie.php
750 bytes
03/26/2025 03:47:46 AM
rw-r--r--
📄
copytest.html
4.04 KB
03/26/2025 03:47:46 AM
rw-r--r--
📁
creamAdmin
-
03/26/2025 04:07:42 AM
rwxr-xr-x
📄
cream_dashboard.php
25.87 KB
03/26/2025 03:47:46 AM
rw-r--r--
📁
creamapi
-
03/26/2025 03:48:04 AM
rwxr-xr-x
📄
create.php
42.93 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
created_magazine.html
11.96 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
dashboard.php
55.52 KB
03/26/2025 03:47:46 AM
rw-r--r--
📁
data
-
03/26/2025 04:16:48 AM
rwxr-xr-x
📄
down.html
829 bytes
03/26/2025 03:47:46 AM
rw-r--r--
📁
education-podcasts
-
03/31/2025 06:36:42 AM
rwxr-xr-x
📁
featured_channels
-
03/26/2025 03:48:04 AM
rwxr-xr-x
📄
featured_channels.php
32.48 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
featured_topics.php
26.59 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
fetch_articles.php
1.83 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
fetch_liked_users.php
1.55 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
filter.php
4.91 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
follow_action.php
1.75 KB
03/26/2025 03:47:46 AM
rw-r--r--
📄
follow_dash.php
33.76 KB
03/26/2025 03:47:46 AM
rw-r--r--
📁
form-builder
-
03/26/2025 03:48:04 AM
rwxr-xr-x
📄
function.php
20.61 KB
03/26/2025 03:47:47 AM
rw-r--r--
📁
genai
-
03/26/2025 04:20:06 AM
rwxr-xr-x
📄
generated_article.php
11.86 KB
03/26/2025 03:47:47 AM
rw-r--r--
📄
get_recent_items.php
1.37 KB
03/26/2025 03:47:47 AM
rw-r--r--
📄
handle_channel.php
856 bytes
03/26/2025 03:47:47 AM
rw-r--r--
📁
hindiConverter
-
03/26/2025 04:15:50 AM
rwxr-xr-x
📄
homePin.php
68.38 KB
03/26/2025 03:47:47 AM
rw-r--r--
📁
hps
-
03/26/2025 03:48:05 AM
rwxr-xr-x
📄
impmy_collection.php
124.17 KB
03/26/2025 03:47:47 AM
rw-r--r--
📁
inc
-
03/26/2025 04:15:50 AM
rwxr-xr-x
📄
index.php
30.55 KB
03/26/2025 03:47:48 AM
rw-r--r--
📄
index1.php
61.34 KB
03/26/2025 03:47:50 AM
rw-r--r--
📄
influencer.php
11.72 KB
03/26/2025 03:47:54 AM
rw-r--r--
📁
interface
-
03/26/2025 03:48:05 AM
rwxr-xr-x
📁
kannada
-
03/26/2025 04:20:06 AM
rwxr-xr-x
📄
knobly_logo.png
9.45 KB
03/26/2025 03:47:54 AM
rw-r--r--
📄
landing_page.php
17.27 KB
03/26/2025 03:47:54 AM
rw-r--r--
📄
landing_signin.php
5.11 KB
03/26/2025 03:47:54 AM
rw-r--r--
📁
leadpage
-
03/26/2025 04:15:53 AM
rwxr-xr-x
📄
link.php
5.63 KB
03/26/2025 03:47:54 AM
rw-r--r--
📄
logInCheck.php
4.41 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
loggedInCheck.php
1.15 KB
03/26/2025 03:47:54 AM
rw-r--r--
📄
logo (1).svg
814 bytes
03/26/2025 03:47:55 AM
rw-r--r--
📄
logout.php
503 bytes
03/26/2025 03:47:55 AM
rw-r--r--
📄
magazine.html
4.46 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
magazine.php
23.57 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
more.php
9.21 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
my_collection.php
153.03 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
my_settings.php
17.44 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
navbar.php
3.36 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
new-page.php
10.46 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
newEditor.php
17.04 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
newsletter.php
24.31 KB
03/26/2025 03:47:55 AM
rw-r--r--
📁
pageLanding
-
03/26/2025 04:20:07 AM
rwxr-xr-x
📁
pages
-
03/26/2025 04:15:53 AM
rwxr-xr-x
📄
payment.php
29.86 KB
03/26/2025 03:47:55 AM
rw-r--r--
📁
pdf
-
03/26/2025 03:48:06 AM
rwxr-xr-x
📄
pdftk_server-2.02-win-setup.exe
2.91 MB
03/26/2025 03:47:56 AM
rw-r--r--
📄
post-details.php
37.75 KB
03/26/2025 03:47:55 AM
rw-r--r--
📄
premium.php
21.79 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
privacy.html
12.1 KB
03/26/2025 03:47:56 AM
rw-r--r--
📁
process
-
03/26/2025 03:48:11 AM
rwxr-xr-x
📄
process-plan.php
1.44 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
process.php
1.52 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
process_data.php
5.02 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
profile.php
37.8 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
profile_pic_upload.php
4.83 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
profile_test.php
19.78 KB
03/26/2025 03:47:56 AM
rw-r--r--
📁
reels
-
03/26/2025 04:20:08 AM
rwxr-xr-x
📄
refund.html
9.04 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
replyPost.php
3.93 KB
03/26/2025 03:47:56 AM
rw-r--r--
📁
report
-
03/26/2025 03:48:11 AM
rwxr-xr-x
📄
request_article.php
22.76 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
reset.html
4.7 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
save_profile.php
2.78 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
saved.php
34.28 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
saved_posts.php
49.25 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
search_bar.php
16.95 KB
03/26/2025 03:47:56 AM
rw-r--r--
📁
sendy
-
03/26/2025 04:21:20 AM
rwxr-xr-x
📄
settings.php
81.93 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
sharemarket.php
3.88 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
showcase.php
10.34 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
signInProcess.php
13.83 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
signInProcess_backup.php
11.18 KB
03/26/2025 03:47:56 AM
rw-r--r--
📁
social_media
-
03/26/2025 04:16:12 AM
rwxr-xr-x
📄
start.html
3.99 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
store_articles.php
1.04 KB
03/26/2025 03:47:56 AM
rw-r--r--
📄
stream.php
62.31 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
streamPush.php
29.82 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
streamb.php
40.75 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
streambb.php
47.34 KB
03/26/2025 03:47:57 AM
rw-r--r--
📁
texttovoice
-
03/26/2025 03:48:13 AM
rwxr-xr-x
📁
thumbsUp
-
03/26/2025 03:48:13 AM
rwxr-xr-x
📄
toggle_channel.php
2.28 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
udupi_sign_up.php
34.5 KB
03/26/2025 03:47:57 AM
rw-r--r--
📁
uploads
-
03/26/2025 04:06:46 AM
rwxr-xr-x
📄
usage.html
37.76 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
userActivity.php
9.79 KB
03/26/2025 03:47:57 AM
rw-r--r--
📁
vendor
-
03/26/2025 04:20:23 AM
rwxr-xr-x
📄
verify.php
744 bytes
03/26/2025 03:47:57 AM
rw-r--r--
📄
view.php
13.36 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
view_newsletter.php
1.58 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
xpress_landing_page.php
78.63 KB
03/26/2025 03:47:57 AM
rw-r--r--
📄
xpress_landingpage.html
11.15 KB
03/26/2025 03:47:57 AM
rw-r--r--
Editing: create.php
Close
<? // include 'inc/validate.logged.php'; require_once 'assets/php/validate.logged.php'; require_once 'assets/php/function.php'; include 'inc/config.php'; include 'inc/function.php'; // Cream: Create $act = ''; if (!empty($_POST)) $act = isset($_POST["act"]) ? $_POST["act"] : ''; // Create Post if ($act == 'createPost') { $postTitle = isset($_POST['postTitle']) ? $_POST['postTitle'] : ''; $postBody = isset($_POST['postBody']) ? $_POST['postBody'] : ''; $isArchive = isset($_POST['isArchive']) ? trim($_POST['isArchive']) : ''; $isReadMore = isset($_POST['isReadMore']) ? trim($_POST['isReadMore']) : ''; $readMoreTxt = isset($_POST['readMoreTxt']) ? trim($_POST['readMoreTxt']) : ''; $readMoreResponse = isset($_POST['readMoreResponse']) ? trim($_POST['readMoreResponse']) : ''; $readMoreEmail = isset($_POST['readMoreEmail']) ? trim($_POST['readMoreEmail']) : ''; $isMandatoryCompany = isset($_POST['isMandatoryCompany']) ? trim($_POST['isMandatoryCompany']) : ''; $isMandatoryEmail = isset($_POST['isMandatoryEmail']) ? trim($_POST['isMandatoryEmail']) : ''; $isMandatoryMobile = isset($_POST['isMandatoryMobile']) ? trim($_POST['isMandatoryMobile']) : ''; if ($isArchive == 0) $isArchive = 'NULL'; if ($isReadMore == 0) $isReadMore = 'NULL'; if ($isMandatoryCompany == '' || $isMandatoryCompany == 'undefined') $isMandatoryCompany = 'NULL'; if ($isMandatoryEmail == '' || $isMandatoryEmail == 'undefined') $isMandatoryEmail = 'NULL'; if ($isMandatoryMobile == '' || $isMandatoryMobile == 'undefined') $isMandatoryMobile = 'NULL'; if ($isReadMore == '') { $isMandatoryCompany = 'NULL'; $isMandatoryEmail = 'NULL'; $isMandatoryMobile = 'NULL'; } if ($postTitle != '' && $postBody != '') { $postTitle = mysqli_real_escape_string($db, $postTitle); $postBody = mysqli_real_escape_string($db, $postBody); $sql = "INSERT INTO user_collection(user_id,title,description,is_archive, is_read_more,read_more_txt,read_more_response,read_more_email,is_mandatory_company,is_mandatory_email,is_mandatory_mobile,date_added) VALUES($gUserId,'$postTitle','$postBody',$isArchive, $isReadMore,'$readMoreTxt','$readMoreResponse','$readMoreEmail',$isMandatoryCompany,$isMandatoryEmail,$isMandatoryMobile,Now())"; // echo $sql."<br>"; mysqli_query($db, $sql); $postId = mysqli_insert_id($db); // For Business Gyan if ($gUserId == 287) { $datePublished = isset($_POST['datePublished']) ? $_POST['datePublished'] : ''; if ($datePublished <> '') { $sql = "UPDATE user_collection SET date_published='$datePublished' WHERE id=$postId AND user_id=$gUserId"; mysqli_query($db, $sql); } $pageViewStart = isset($_POST['pageViewStart']) ? $_POST['pageViewStart'] : ''; if ($pageViewStart <> '') { $sql = "UPDATE user_collection SET page_view_start=$pageViewStart WHERE id=$postId AND user_id=$gUserId"; mysqli_query($db, $sql); } $author = isset($_POST['author']) ? $_POST['author'] : ''; if ($author <> '') { $author = mysqli_real_escape_string($db, $author); $sql = "UPDATE user_collection SET author='$author' WHERE id=$postId AND user_id=$gUserId"; mysqli_query($db, $sql); } $articleTag = isset($_POST['articleTag']) ? $_POST['articleTag'] : ''; if ($articleTag <> '') { $arrArticleTags = explode(',', $articleTag); foreach ($arrArticleTags as $value) { $sql = "INSERT INTO user_collection_tag(articleId,articleTag) VALUES($postId,'$value')"; mysqli_query($db, $sql); } } } if (isset($_FILES['uploadCover'])) { $temp = $_FILES['uploadCover']; if (is_uploaded_file($temp['tmp_name'])) { $fileExt = strtolower(pathinfo($temp['name'], PATHINFO_EXTENSION)); $fileUpload = $postId . '-' . time() . '.' . $fileExt; move_uploaded_file($temp['tmp_name'], 'data/covers/' . $fileUpload); $sql = "UPDATE user_collection SET cover_img='$fileUpload' WHERE id=$postId AND user_id=$gUserId"; mysqli_query($db, $sql); } } echo "OK"; } } // Default if ($act == '') { $location = json_decode(find_ipgeo_location(), true); $res = trim($location['City'] . ($location['City'] && $location['Country'] ? ", " : "") . $location['Country']); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Create | Knobly Cream</title> <!-- jQuery --> <script src=" assets/js/jquery-3.6.0.min.js"></script> <!-- Magnific Popup --> <script src="assets/js/jquery.magnific-popup.min.js"></script> <!-- Bootstrap, Font Awesome, etc. --> <link rel="stylesheet" href="assets/css/all.min.css"> <!-- <link rel="stylesheet" href="assets/css/all.min.5.15.css"> --> <link rel="stylesheet" href="assets/css/bootstrap.min.css" > <!-- Custom CSS --> <link rel="stylesheet" href="assets/css/styles.css" /> <link rel="stylesheet" href="assets/old/genai_style.css" /> <!-- Scripts --> <script src="assets/js/bootstrap.min.js" ></script> <script src="assets/js/Chart.min.js" crossorigin="anonymous"></script> <script src="assets/tinymce/js/tinymce/tinymce.min.js" referrerpolicy="origin"></script> <script src="assets/js/common.js"></script> <script src="assets/js/genai_func.js"></script> <style> .newsroll-dropdown { border: none; outline: none; position: relative; display: inline-block; /* display: flex; */ align-items: center; padding-left: 8px; /* border: none; */ padding-bottom: 8px; } .newsroll-dropbtn { border: none; color: rgba(255, 255, 255, 0.5); background-color: #212529; } .newsroll-dropbtn:focus { border: none; outline: none; } .newsroll-dropdown-content { display: none; outline: none; position: relative; background-color: #212529; min-width: 160px; /* box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); */ /* z-index: 1; */ } .newsroll-dropdown-content a { color: white; padding: 12px 16px; text-decoration: none; display: block; } .show { display: block; } /* .light-mode .footer { background-color: var(--footer-bg-light) !important; color: #333; } */ /* .nav-item .nav-link{ background-color: #fff; color: #212529; } */ .active { color: #000 !important; } .footer { text-align: center; padding: 20px; background-color: var(--footer-bg-dark) !important; color: #777; position: fixed; bottom: 0; width: 100%; } .breadcrumb { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: .75rem 1rem; margin-bottom: 1rem; list-style: none; background-color: transparent !important; border-radius: .25rem; } #frmPost { margin-bottom: 60px; /* Adjust as needed based on the footer's height */ } tbody th { color: var(--text-color-light); text-decoration: none; background-color: transparent; } thead th { color: var(--text-color-light); text-decoration: none; background-color: transparent; } a { color: var(--text-color-light); text-decoration: none; background-color: transparent; } .table td, .table th { padding: .75rem; vertical-align: top; border-top: 1px solid white; } .table { width: 100%; margin-bottom: 1rem; color: black; } @media screen and (min-width:768px) { .container-fluid, .container-lg, .container-md, .container-sm, .container-xl { width: 90% !important; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; margin-top: 10px; } } .dropdown-menu { position: absolute; top: 100%; left: -100px; z-index: 1000; display: none; float: left; min-width: 10rem; padding: .5rem 0; margin: .125rem 0 0; font-size: 1rem; color: #212529; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, .15); border-radius: .25rem; } .navbar { transition: bottom 0.3s; position: relative !important; width: 100%; z-index: 1000; } .go-back-bar { margin-top: 20px !important; } </style> <style> .sideWithMainContainer { display: flex; flex-direction: row; gap: 10px; overflow-x: hidden; } .sideMaincontent { height: 85vh; overflow-y: scroll; padding: 30px 0; } @media (min-width: 768px) { .col-md-2 { padding: 0px !important; } } @media (max-width: 768px) { .col-md-2 { display: none !important; } } </style> </head> <body class="sb-nav-fixed"> <?php include 'assets/php/social_navbar.php' ?> <div class="sideWithMainContainer"> <div class="col-md-2"> <? include 'assets/php/sidebar.php' ?> </div> <main class="col-sm-12 col-md-10 sideMaincontent"> <div id="panelContent" class="container-fluid"> <ol class="breadcrumb my-3"> <li class="breadcrumb-item"> <h4 class="m-0">Create</h4> </li> </ol> <div class="row mb-4"> <div class="col"> <ul class="nav nav-tabs mb-4"> <li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#rss" role="tab" onclick="$('#panelStatus').html('')">Create your Post</a></li> <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#newsletter" role="tab" onclick="$('#panelStatus').html('')">Add from My Collections</a></li> </ul> <div class="tab-content m-3"> <div class="tab-pane fade show active" id="rss" role="tabpanel"> <form id="frmPost"> <div class="form-row"> <div class="form-group col"> <label for="postTitle">Title</label> <input type="text" class="form-control" id="postTitle" name="postTitle" maxlength="500" /> </div> </div> <div class="form-row"> <div class="form-group col"> <textarea id="postBody" name="postBody"></textarea> </div> </div> <div class="form-row"> <div class="form-group col-md-4"> <label for="uploadCover">Cover Image</label> </div> <div class="form-group col-md-8"> <div class="form-check form-check-inline ml-0 ml-sm-2 w-100"> <input type="file" class="form-control-file" id="uploadCover" name="uploadCover" accept="image/*" /> </div> </div> </div> <div class="form-row"> <div class="form-group col-md-4"> <label for="isArchive">Archive Item</label> </div> <div class="form-group col-md-8"> <div class="form-check form-check-inline ml-0 ml-sm-2 w-50"> <input class="form-check-input" type="radio" id="isArchive" name="isArchive" value="1"> <label class="form-check-label" for="isArchive" style="padding: 5px 10px;">Yes</label> </div> <div class="form-check form-check-inline ml-0 ml-sm-2 w-50"> <input class="form-check-input" type="radio" id="isArchiveNo" name="isArchive" value="0" checked> <label class="form-check-label" for="isArchiveNo" style="padding: 5px 10px;">No</label> </div> </div> </div> <? if ($gUserPlan == 0) { echo '<div class="alert alert-success" role="alert">Lead Capture feature is only available in <b>Pro</b> plan! Go to My Account to upgrade.</div>'; } else { ?> <div class="form-row"> <div class="form-group col-md-4"> <label for="isReadMore">Show Call To Action Button</label> </div> <div class="form-group col-md-8"> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" id="isReadMoreYes" name="isReadMore" value="1"> <label class="form-check-label" for="isReadMoreYes">Yes</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" id="isReadMoreNo" name="isReadMore" value="0" checked> <label class="form-check-label" for="isReadMoreNo">No</label> </div> </div> </div> <div class="form-row"> <div class="form-group col-md-4"> <label for="readMoreTxt">Call To Action Button Text</label> </div> <div class="form-group col-md-8"> <input type="text" class="form-control" id="readMoreTxt" name="readMoreTxt" maxlength="50" /> </div> </div> <div class="form-row"> <div class="form-group col-md-4 pt-2"> <label for="readMoreResponse">Call To Action Response</label> </div> <div class="form-group col-md-8"> <input type="text" class="form-control" id="readMoreResponse" name="readMoreResponse" maxlength="300" /> <small class="form-text text-muted">Enter a URL (including http or https) or if left blank, will show a default Thank you page</small> </div> </div> <div class="form-row"> <div class="form-group col-md-4 pt-2"> <label for="readMoreResponse">Call To Action Email</label> </div> <div class="form-group col-md-8"> <input type="text" class="form-control" id="readMoreEmail" name="readMoreEmail" maxlength="300" /> <small class="form-text text-muted">Enter a valid email addresses seperated by commas where you want the lead details to be emailed</small> </div> </div> <div class="form-row"> <div class="form-group col-md-4"> <label for="isMandatoryCompany">Call To Action Mandatory Fields</label> </div> <div class="form-group col-md-8"> <div class="row"> <div class="col-12 col-lg-4"><label class="form-control border-0"><input type="checkbox" id="isMandatoryCompany" name="isMandatoryCompany" value="1"> Company/Institution</label></div> <div class="col-12 col-lg-4"><label class="form-control border-0"><input type="checkbox" id="isMandatoryEmail" name="isMandatoryEmail" value="1"> Email</label></div> <div class="col-12 col-lg-4"><label class="form-control border-0"><input type="checkbox" id="isMandatoryMobile" name="isMandatoryMobile" value="1"> Mobile</label></div> </div> </div> </div> <? } ?> <input type="hidden" id="act" name="act" value="createPost" /> <button class="btn btn-primary" onclick="return chkCreatePost()">Save Post</button> </form> </div> <div class="tab-pane fade" id="newsletter" role="tabpanel"> <? $numFeed = 1; $sql = "SELECT * FROM user_collection WHERE user_id=$gUserId AND is_archive IS NULL ORDER BY id DESC"; $result = mysqli_query($db, $sql); $numRows = mysqli_num_rows($result); if ($numRows > 0) { ?> <div class="table-responsive"> <table class="table table-striped"> <thead> <tr> <th scope="col">#</th> <th scope="col">Post</th> <th scope="col">Publisher</th> <th scope="col">Copy</th> </tr> </thead> <tbody> <? while ($row = mysqli_fetch_assoc($result)) { $collectionId = $row['id']; $collectionTitle = $row['title']; $collectionURL = $row['url']; $collectionDesc = $row['description']; // Clean up newlines in description $collectionDesc = str_replace(array("\r", "\n"), '', $collectionDesc); // Check if $collectionURL is not empty or null if (!empty($collectionURL)) { // Extract the publisher domain from the URL $collectionPublisher = substr($collectionURL, strpos($collectionURL, ".") + 1); $collectionPublisher = ucfirst(strtok($collectionPublisher, '.')); } else { // Fallback if the URL is empty or null $collectionPublisher = 'Cream'; } // Generate the collection link $collectionLink = '/view/' . $collectionId . '/' . createArticleURL($collectionTitle); // Check if user subdomain is set, and generate full URL if ($gUserSubdomain <> '') { $collectionLinkFull = 'https://' . $gUserSubdomain . '.knoblycream.com' . $collectionLink; } else { // $collectionLinkFull = 'https://www.knoblycream.com' . $collectionLink; $collectionLinkFull = $collectionLink; } // Prepare the text for copying to clipboard (sanitize for HTML and escape quotes) $copyClipboard = htmlspecialchars(str_replace("'", "\'", $collectionTitle)) . '\n' . htmlspecialchars(str_replace("'", "\'", $collectionDesc)) . '\n' . htmlspecialchars($collectionLinkFull); ?> <tr> <th scope="row"><?= $numFeed ?>.</th> <td><a href="javascript:np()" onclick="openWin('<?= $collectionLink ?>')"><?= $collectionTitle ?></a></td> <th><?= $collectionPublisher ?></th> <th align="right"><a href="javascript:np()" onclick="copyToClipboard('<?= $copyClipboard ?>')" title="Copy to Clipboard"><i class="far fa-clipboard fa-lg text-muted pr-2"></i></a></th> </tr> <? $numFeed += 1; } ?> </tbody> </table> <? } else { ?> You do not have any items in your collection! <? } ?> </div> </div> </div> </div> <script> tinymce.init({ init_instance_callback: 'insert_contents', selector: 'textarea', height: 400, statusbar: false, forced_root_block: '', force_br_newlines: true, force_p_newlines: false, file_picker_types: 'image', automatic_uploads: true, paste_data_images: true, paste_as_text: true, // Force plain text paste invalid_elements: 'span', extended_valid_elements: 'script[src|async|defer|type|charset]', images_upload_url: 'process/upload.php', file_picker_callback: function(callback, value, meta) { var input = document.createElement('input'); input.setAttribute('type', 'file'); input.setAttribute('accept', 'image/*'); input.onchange = function() { var file = this.files[0]; var reader = new FileReader(); reader.onload = function() { var id = 'blob' + (new Date()).getTime(); var blobCache = tinymce.activeEditor.editorUpload.blobCache; var base64 = reader.result.split(',')[1]; var blobInfo = blobCache.create(id, file, base64); blobCache.add(blobInfo); callback(blobInfo.blobUri(), { title: file.name }); }; reader.readAsDataURL(file); }; input.click(); }, menubar: 'edit format', menubar: true, // Enable menubar for mobile toolbar: 'undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist checklist | forecolor backcolor removeformat | link unlink anchor image media | table insertdatetime charmap hr pagebreak | code fullscreen preview | searchreplace visualblocks visualchars emoticons template', // plugins: [ // 'advlist', 'anchor', 'autolink', 'autosave', 'charmap', 'code', 'codesample', // 'emoticons', 'fullscreen', 'help', 'image', 'insertdatetime', 'link', 'lists', // 'media', 'pagebreak', 'preview', 'searchreplace', 'table', 'template', 'visualblocks', // 'visualchars', 'wordcount', 'imagetools', 'nonbreaking', 'paste', 'quickbars' // ], contextmenu: false, // Use the native context menu for better paste support mobile: { toolbar: 'undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist checklist | forecolor backcolor removeformat | link unlink anchor image media | table insertdatetime charmap hr pagebreak | code fullscreen preview | searchreplace visualblocks visualchars emoticons template', // plugins: [ // 'advlist', 'anchor', 'autolink', 'autosave', 'charmap', 'code', 'codesample', // 'emoticons', 'fullscreen', 'help', 'image', 'insertdatetime', 'link', 'lists', // 'media', 'pagebreak', 'preview', 'searchreplace', 'table', 'template', 'visualblocks', // 'visualchars', 'wordcount', 'imagetools', 'nonbreaking', 'paste', 'quickbars' // ], menubar: true }, setup: function(editor) { editor.on('paste', function(e) { console.log('Pasting content:', e.clipboardData.getData('text/plain')); // Additional handling if needed }); } }); function insert_contents(inst) { inst.setContent(''); } </script> <!-- <script> tinymce.init({ selector: 'textarea', plugins: [ // Core editing features 'anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'visualblocks', 'wordcount', // Premium features 'checklist', 'mediaembed', 'casechange', 'export', 'formatpainter', 'pageembed', 'permanentpen', 'advtable', 'advcode', 'editimage', 'advtemplate', 'mentions', 'tinycomments', 'tableofcontents', 'footnotes', 'mergetags', 'inlinecss', 'markdown', ], toolbar: 'undo redo | blocks fontfamily fontsize | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat', tinycomments_mode: 'embedded', tinycomments_author: 'Author name', mergetags_list: [{ value: 'First.Name', title: 'First Name' }, { value: 'Email', title: 'Email' }, ], }); </script> --> </div> </main> </div> <?php include 'assets/php/footer.php' ?> <?php include 'assets/php/bottom_navbar.php' ?> </body> <script> function newsrollToggleDropdown() { var dropdownContent = document.getElementById("newsrollDropdown"); dropdownContent.classList.toggle("show"); } // Close the dropdown if the user clicks outside of it window.onclick = function(event) { if (!event.target.matches('.newsroll-dropbtn')) { var dropdowns = document.getElementsByClassName("newsroll-dropdown-content"); for (var i = 0; i < dropdowns.length; i++) { var openDropdown = dropdowns[i]; if (openDropdown.classList.contains('show')) { openDropdown.classList.remove('show'); } } } } </script> <!-- <script> function chkCreatePost() { $('#panelStatus').html(''); var postTitle = $('#postTitle').val(); var postBody = tinymce.get('postBody').getContent(); if (postTitle == '') { alert('Error: Title not entered!'); return false; } if (postBody == '') { alert('Error: Post is empty!'); return false; } tinyMCE.triggerSave(); tinymce.activeEditor.uploadImages(function(success) { var articleTag = $('input[name=articleTag]:checked').map(function() { return this.value; }).get(); var formData = new FormData(); formData.append('act', 'createPost'); formData.append('postTitle', postTitle); formData.append('postBody', postBody); formData.append('articleTag', articleTag); formData.append('datePublished', $('#datePublished').val()); formData.append('pageViewStart', $('#pageViewStart').val()); formData.append('author', $('#author').val()); formData.append('isArchive', $('input[name=isArchive]:checked').val()); formData.append('isReadMore', $('input[name=isReadMore]:checked').val()); formData.append('readMoreTxt', $('#readMoreTxt').val()); formData.append('readMoreResponse', $('#readMoreResponse').val()); formData.append('readMoreEmail', $('#readMoreEmail').val()); formData.append('isMandatoryCompany', $('input[name=isMandatoryCompany]:checked').val()); formData.append('isMandatoryEmail', $('input[name=isMandatoryEmail]:checked').val()); formData.append('isMandatoryMobile', $('input[name=isMandatoryMobile]:checked').val()); formData.append('uploadCover', $('#uploadCover')[0].files[0]); $.ajax({ method: "POST", url: 'create.php', data: formData, processData: false, contentType: false, enctype: 'multipart/form-data' }) .done(function(msg) { if (msg == 'OK') { tinymce.get('postBody').setContent(''); console.log("Ajax Message: " + msg) $('#rss').html('Post has been created!<br><br><button class="btn btn-primary" onclick="location.reload()">Add a New Post</button>'); } }); }); return false; } </script> --> <script> // Function to handle the Save Post button click function chkCreatePost() { // Clear any previous status $('#panelStatus').html(''); // Collect form data var postTitle = $('#postTitle').val(); var postBody = tinymce.get('postBody').getContent(); // Check if title and body are filled in if (postTitle == '') { alert('Error: Title not entered!'); return false; } if (postBody == '') { alert('Error: Post is empty!'); return false; } // Trigger the save for TinyMCE content tinyMCE.triggerSave(); // Collect other form data (e.g., isArchive, isReadMore, etc.) var articleTag = $('input[name=articleTag]:checked').map(function() { return this.value; }).get(); var formData = new FormData(); formData.append('act', 'createPost'); formData.append('postTitle', postTitle); formData.append('postBody', postBody); formData.append('articleTag', articleTag); formData.append('isArchive', $('input[name=isArchive]:checked').val()); formData.append('isReadMore', $('input[name=isReadMore]:checked').val()); formData.append('readMoreTxt', $('#readMoreTxt').val()); formData.append('readMoreResponse', $('#readMoreResponse').val()); formData.append('readMoreEmail', $('#readMoreEmail').val()); formData.append('uploadCover', $('#uploadCover')[0].files[0]); // Submit form via AJAX $.ajax({ method: "POST", url: 'create.php', // Adjust to your server-side processing script data: formData, processData: false, contentType: false, enctype: 'multipart/form-data', success: function(response) { console.log("Response from server: ", response); if (response == 'OK') { tinymce.get('postBody').setContent(''); $('#rss').html( 'Post has been created!<br><br>' + '<button class="btn btn-primary" onclick="location.reload()">Add a New Post</button>' + '<button class="btn btn-primary" onclick="location.href=\'my_collection.php\'">Go to My Collections</button>' ); } else { $('#rss').html('Error: Could not create post.'); } }, error: function(xhr, status, error) { $('#rss').html('An error occurred while processing the request.'); console.log('Error:', error); } }); return false; // Prevent default form submission } </script> <script> function copyToClipboard(note) { // Append the custom text to the note var textToCopy = note; // Try using the Clipboard API first if (navigator.clipboard) { navigator.clipboard.writeText(textToCopy).then(function() { alert('Note copied to clipboard: ' + textToCopy); }).catch(function(error) { console.error('Clipboard API error: ', error); fallbackCopy(textToCopy); }); } else { console.error('Clipboard API is not available'); fallbackCopy(textToCopy); } // Fallback method using a temporary textarea element function fallbackCopy(textToCopy) { // Create a temporary textarea element using jQuery var $tempTextArea = $('<textarea>'); // Set the value of the textarea to the text we want to copy $tempTextArea.val(textToCopy).appendTo('body'); // Focus the textarea and select the content using jQuery $tempTextArea.focus().select(); $tempTextArea[0].setSelectionRange(0, textToCopy.length); // For mobile devices // Try executing the copy command try { var successful = document.execCommand('copy'); if (successful) { alert('Note copied to clipboard: ' + textToCopy); } else { alert('Failed to copy note.'); } } catch (err) { console.error('Error copying text: ', err); alert('Failed to copy note.'); } finally { // Remove the temporary textarea from the document $tempTextArea.remove(); } } } </script> </html> <? } ?>