HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-31-18-78 6.17.0-1017-aws #17~24.04.1-Ubuntu SMP Tue May 26 21:09:53 UTC 2026 aarch64
User: ubuntu (1000)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /var/www/selfanalyse/counselor/users-plan-purchase-list.php
<?php
include_once('header.php');

$PSY_ONLINE_TXN_MAIN = $wpdb->prefix . PSY_ONLINE_TXN_MAIN;
$PSY_USERS_DETAILS = $wpdb->prefix . PSY_USERS_DETAILS;
$PSY_PLANS = $wpdb->prefix . PSY_PLANS;


if(isset($_REQUEST['search_data'])) {
	$es_stname = $_REQUEST['es_stname'];
	$es_ondate = $_REQUEST['es_ondate'];
	$es_fromdate = $_REQUEST['es_fromdate'];
	$es_todate = $_REQUEST['es_todate'];

	if($es_stname != '') {
		$subQuery .= "and u.first_name LIKE '%$es_stname%' ";
	}
	if($es_ondate !='') {
		$q_date = date('Y-m-d',strtotime($es_ondate));
		$subQuery .= "and date(t.txn_date)='$q_date'";
	}
	if($es_fromdate !='' && $es_todate !='') {
		$fromDate = date('Y-m-d',strtotime($es_fromdate));
		$toDate = date('Y-m-d',strtotime($es_todate));
		$subQuery .= "and (date(t.txn_date) BETWEEN '$fromDate' AND '$toDate')";
	}
	$_SESSION['pL_subQuery'] = $subQuery;
	?>
	<script>window.location.href="users-plan-purchase-list"</script>
	<?php
}
if (!empty($_SESSION['pL_subQuery'])) {
	$mergeFilter = $_SESSION['pL_subQuery'];
} else {
	$mergeFilter = "";
}

$thisPage = 'users-plan-purchase-list';
if (isset($_REQUEST['page'])) {
	$pageno = $_REQUEST['page'];
} else {
	$pageno = 1;
}
$no_of_records_per_page = 20;
$offset = ($pageno - 1) * $no_of_records_per_page;

$i = $offset + 1;

$countQuery = "SELECT count(t.txn_id) FROM $PSY_ONLINE_TXN_MAIN as t LEFT JOIN $PSY_USERS_DETAILS as u ON u.user_id=t.user_id LEFT JOIN $PSY_PLANS as p ON p.plan_id=t.ref_id where t.txn_status='S' and t.type_of_txn='P' $mergeFilter";

$total_rows = $wpdb->get_var($countQuery);
$total_pages = ceil($total_rows / $no_of_records_per_page);

$getplanQuery = "SELECT t.txn_id, t.user_id, u.first_name, u.mobile_number, u.email_address, p.plan_name,t.txn_date FROM $PSY_ONLINE_TXN_MAIN as t LEFT JOIN $PSY_USERS_DETAILS as u ON u.user_id=t.user_id LEFT JOIN $PSY_PLANS as p ON p.plan_id=t.ref_id where t.txn_status='S' and t.type_of_txn='P' $mergeFilter order by t.txn_id desc limit $offset,$no_of_records_per_page";
$getPlanData = $wpdb->get_results($getplanQuery);

?>

<style>
	.modal-backdrop {
		z-index: 999 !important;
	}

	table.dataTable.nowrap th,
	table.dataTable.nowrap td {
		white-space: nowrap !important;
	}

	.page-title {
		float: left;
		width: 100%;
	}
</style>
<div class="page-inner">
	<div class="page-title">
		<div class="col-md-4">
			<h3>Users MIS</h3>
			<div class="page-breadcrumb">
				<ol class="breadcrumb">
					<li><a href="dashboard">Home</a></li>
					<li class="active">Plan Purchased</li>
				</ol>
			</div>
		</div>
		<div class="col-md-8">
			<div class="navbar-right">
				<ul class="navul">
					<!--<li><a href="apt-class">Class List</a></li>-->

				</ul>
			</div>
		</div>
	</div>

	<div id="main-wrapper">
		<div class="col-md-12">
			<div class="panel panel-info">
				<div class="panel-heading clearfix">
					<h4 class="panel-title">Search Filter</h4>
				</div>
				<div class="spacer"></div>
				<div class="panel-body">
					<form class="form-horizontal" method="post">
						<div class="form-group">
							<label for="date" class="col-sm-2">Student Name</label>
							<div class="col-sm-4">
								<input type="text" class="form-control" name="es_stname" id="es_stname" placeholder="Enter student name">
							</div>
						</div>
						<div class="form-group">
							<label for="date" class="col-sm-2">Purchased On Date</label>
							<div class="col-sm-4">
								<input type="text" class="form-control" name="es_ondate" id="date" placeholder="On Date">
							</div>
						</div>
						<div class="form-group">
							<label for="date" class="col-sm-2">Purchased From/To Date</label>
							<div class="col-sm-4">
								<input type="text" class="form-control" name="es_fromdate" id="fromdate" placeholder="From Date">
							</div>
							<div class="col-sm-4">
								<input type="text" class="form-control" name="es_todate" id="todate" placeholder="To Date">
							</div>
						</div>
						<div class="form-group">
							<input type="submit" class="btn btn-primary" value="Search" name="search_data">
						</div>
					</form>
				</div>
			</div>
		</div>
		<div class="col-md-12" style="padding:0;">
			<div class="panel panel-info">
				<div class="panel-heading clearfix">
					<h4 class="panel-title">Plan Purchase List</h4>
				</div>
				<div class="panel-body">
					<div class="table-responsive">
						<table class="display " id="userList" style="font-size: 13px;">
							<thead>
								<tr>
									<th>Id</th>
									<th>Txn Id</th>
									<th>Plan</th>
									<th>Name</th>
									<th>Email</th>
									<th>Mobile</th>
									<th>Purchased on</th>
                                    <th>Action</th>
								</tr>
							</thead>
							<tbody>
								<?php
								foreach ($getPlanData as $tst) {
								?>
									<tr>
										<td><?php echo $i; ?></td>
										<td><?php echo $tst->txn_id; ?></td>
										<td><?php echo $tst->plan_name; ?></td>
										<td><?php echo $tst->first_name; ?></td>
										<td><?php echo $tst->email_address; ?></td>
										<td><?php echo $tst->mobile_number; ?></td>
										<td><?php echo $tst->txn_date; ?></td>
                                        <td>
                                            <a href="users-search-page?uId=<?php echo $tst->user_id; ?>" target="_blank">User Details</a>
                                        </td>
									</tr>
								<?php $i++;
								} ?>
							</tbody>
						</table>
						<div class="btn-group" role="group" aria-label="First group" style="float: right;">
							<?php
							$k = (($pageno + 4 > $total_pages) ? $total_pages - 4 : (($pageno - 4 < 1) ? 5 : $pageno));
							if ($pageno >= 2) {
								echo "<a class='btn btn-default' href='$thisPage?page=1'> &laquo; </a>";
								echo "<a class='btn btn-default' href='$thisPage?page=" . ($pageno - 1) . "'> Prev </a>";
							}
							for ($j = -4; $j <= 4; $j++) {

								if (($k + $j) > 0) {
									if ($k + $j == $pageno)
										$pagLink .= "<a href='$thisPage?page=" . ($k + $j) . "' class='btn btn-default active'>" . ($k + $j) . "</a>";
									else
										$pagLink .= "<a class='btn btn-default' href='$thisPage?page=" . ($k + $j) . "'>" . ($k + $j) . "</a>";
								}
							};
							echo $pagLink;
							if ($pageno < $total_pages) {
								echo "<a class='btn btn-default' href='$thisPage?page=" . ($pageno + 1) . "'> Next </a>";
								echo "<a class='btn btn-default' href='$thisPage?page=" . $total_pages . "'> &raquo; </a>";
							}
							echo '<a class="btn btn-default">| Page: ' . $total_pages . '</a><a class="btn btn-default"> | Total Data: ' . $total_rows . '</a>';
							?>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div><!-- Main Wrapper -->

	<!-------------------edit ability modal---------------->
	<div class="modal fade" id="editAbilityModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
		<div class="modal-dialog">
			<div class="modal-content" style="border: 3px solid #ccc;">
				<div class="modal-header" style="padding: 5px 10px 0px 0px; height: 20px;">
					<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
				</div>
				<div class="modal-body" id="edit_ability_modal"></div>
			</div>
		</div>
	</div>

	<div class="page-footer">
		<p class="no-s">shinemetrics.com</p>
	</div>
</div><!-- Page Inner -->


<script type="text/javascript" charset="utf-8">
	jQuery.noConflict();
	jQuery(function($) {
		$('#userList').dataTable({
			"bPaginate": false,
            "responsive":true,
		});
		$("#date").datepicker({
                changeMonth: true,
                changeYear: true
            });
            $("#todate").datepicker({
                changeMonth: true,
                changeYear: true
            });
            $("#fromdate").datepicker({
                changeMonth: true,
                changeYear: true
            });
	});
</script>
<link href="assets/css/jquery.dataTables.min.css" rel="stylesheet">
<link href="assets/css/responsive.dataTables.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" />
<script src="assets/plugins/jquery-ui/jquery-ui.min.js"></script>
<script src="assets/js/jquery.dataTables.min.js"></script>
<script src="assets/js/dataTables.responsive.min.js"></script>

<?php
include_once('footer.php');
?>