MINI Sh3ll
<?
$search_shcode = isset($_REQUEST['shcode']) && $_REQUEST['shcode'] != '' ? trim($_REQUEST['shcode']) : "";
$configure = isset($_REQUEST['configure']) && $_REQUEST['configure'] != '' ? trim($_REQUEST['configure']) : "";
if($search_shcode != ""){
$shortcode = $objShortcode->getActiveShortcodeByCode($search_shcode);
//y($shortcode);
$is_available = false;
if(!$shortcode){
$is_available = true;
}
}
$active_clients = $objUser->getActiveClients();
?>
<link href="<?=SITE_ROOT_URL?>css/select2.min.css" rel="stylesheet" />
<script src="<?=SITE_ROOT_URL?>js/select2.min.js"></script>
<? if($search_shcode == "" || $configure == ""){?>
<div class="row">
<div class="col-md-8 offset-md-2">
<!-- Account details card-->
<div class="card card-header-actions mb-4">
<div class="card-header">Check Shortcode Availability
<a class="btn btn-yellow btn-sm" href="<?=SITE_ROOT_URL.'shortcodes/'?>">Back</a></div>
<div class="card-body">
<form id="CheckForm" class="needs-validation" novalidate method="post">
<div class="form-row">
<div class="form-group col-md-3">
<label class="small mb-1" for="shcode"></label>
<input class="form-control" id="shcode" name="shcode" type="number" placeholder="Enter the shortcode" value="<?=$_REQUEST['shcode']?>" required autocomplete="Off"/>
<div class="invalid-feedback">
Please enter the shortcode
</div>
</div>
<div class="form-group col-md-3">
<button id="btnCheck" class="btn btn-warning text-right mt-4" type="submit">Check Availability</button>
</div>
</div>
</form>
<? if($shortcode){?>
<div class="alert alert-danger" role="alert">Sorry! shortcode <?=$search_shcode?> is not available for configuration.</div>
<? } elseif($is_available) { ?>
<div class="alert alert-success" role="alert">Congrats! shortcode <?=$search_shcode?> is available for configuration.</div>
Do you want to configure it? <a id="btnYes" class="btn btn-success btn-sm text-white" style="cursor:pointer;">Yes</a> <a class="btn btn-danger btn-sm text-white" id="btnNo" href="<?=SITE_ROOT_URL?>shortcodes/add-shortcode" style="cursor:pointer;">No</a>
<? } ?>
</div>
</div>
</div>
</div>
<? } ?>
<? if($search_shcode != "" && $configure != "" && $is_available){?>
<div class="row">
<div class="col-md-8 offset-md-2">
<!-- Account details card-->
<div class="card card-header-actions mb-4">
<div class="card-header">Shortcode Information
<a class="btn btn-yellow btn-sm" href="<?=SITE_ROOT_URL.'shortcodes/'?>">Back</a></div>
<div class="card-body">
<form id="CertForm" class="needs-validation" novalidate method="post" autocomplete="Off">
<div class="form-row">
<div class="form-group col-md-2">
<label class="small mb-1" for="mobileno">Shortcode</label>
<input class="form-control form-control-sm" id="shortcode" name="shortcode" type="text" placeholder="Enter the shortcode" value="<?=$search_shcode?>" required maxlength="8" <?=$search_shcode > 0 ? 'readonly' : ''?>/>
<div class="invalid-feedback">
Please enter the shortcode
</div>
</div>
</div>
<? if($loginUser['usertype'] == 'ADMIN'){?>
<div class="form-group">
<label class="small mb-1" for="name">Client</label>
<select class="form-control" name="client_id" id="client_id" required>
<option value="">Select Client</option>
<? foreach($active_clients as $ac){?>
<option value="<?=$ac['id']?>" <?=$client_id == $ac['id'] ? 'selected' : ''?>><?=$ac['client_name'].' - '. $ac['company']?></option>
<? } ?>
</select>
<div class="invalid-feedback">
Please select the client
</div>
</div>
<? } else { ?>
<input type="hidden" name="client_id" id="client_id" value="<?=$loginUser['id']?>" />
<? } ?>
<div class="form-group">
<label class="small mb-1" for="description">Description</label>
<textarea class="form-control form-control-sm" id="description" name="description" type="text" placeholder="Enter the description" required /></textarea>
<div class="invalid-feedback">
Please enter the description
</div>
</div>
<div class="form-row">
<div class="form-group col-md-3">
<label class="small mb-1" for="mobileno">Start Date</label>
<input class="form-control form-control-sm" id="startdate" name="startdate" type="date" placeholder="Date" required />
<div class="invalid-feedback">
Please select the start date
</div>
</div>
<div class="form-group col-md-3">
<label class="small mb-1" for="mobileno">End Date</label>
<input class="form-control form-control-sm" id="enddate" name="enddate" type="date" placeholder="Date" required />
<div class="invalid-feedback">
Please select the end date
</div>
</div>
</div>
<h5>Response Configuration</h5>
<div class="form-row">
<div class="form-group col-md-3">
<label class="small mb-1" for="name">Response Type</label>
<select class="form-control" name="response_type" id="response_type" required>
<option value="">Select Type</option>
<option value="0">Default Response</option>
<option value="1">URL Forward</option>
<option value="2">URL Forward with Default Response</option>
</select>
<div class="invalid-feedback">
Please select the response type
</div>
</div>
<div class="form-group col-md-12" id="divDR" style="display: none;">
<label class="small mb-1" for="response_text">Response Text</label>
<textarea class="form-control form-control-sm" id="response_text" rows="3" name="response_text" type="text" placeholder="Enter the response text" /></textarea>
<div class="invalid-feedback">
Please enter the response text
</div>
</div>
<div class="form-group col-md-3" id="divUFRM" style="display: none;">
<label class="small mb-1" for="name">Request Method</label>
<select class="form-control" name="request_method" id="request_method">
<option value="">Select Type</option>
<option value="GET" selected>GET</option>
<?/*<option value="POST">POST</option>*/?>
</select>
<div class="invalid-feedback">
Please select the request method
</div>
</div>
<div class="form-group col-md-12" id="divUFRL" style="display: none;">
<label class="small mb-1" for="response_text">Response URL</label>
<textarea class="form-control form-control-sm" id="response_url" rows="3" name="response_url" type="text" placeholder="Enter the response URL" /></textarea>
<div class="invalid-feedback">
Please enter the response URL
</div>
</div>
<div class="form-group col-md-12" id="divUFUP" style="display: none;">
<label class="small mb-1" for="url_parameters">URL Parameters</label>
<textarea class="form-control form-control-sm" id="url_parameters" rows="3" name="url_parameters" type="text" placeholder="Enter the url parameters" /></textarea>
<div class="invalid-feedback">
Please enter the url parameters
</div>
</div>
</div>
<div class="mb-4"></div>
<div class="text-right">
<input type="hidden" name="formtype" value="add-shortcode" />
<button id="btnSubmit" class="btn btn-primary text-right" type="submit">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
<? } ?>
<form id="frmSh" method="post">
<input type="hidden" id="shcode" name="shcode" value="" />
<input type="hidden" id="configure" name="configure" value="" />
</form>
<script type="text/javascript">
$("#response_type").change(function(){
var rt = $(this).val();
if(rt == 0){
$("#divDR").slideDown();
$("#divUFRM").slideUp();
$("#divUFRL").slideUp();
$("#divUFUP").slideUp();
}
else if(rt == 1){
$("#divDR").slideUp();
$("#divUFRM").slideDown();
$("#divUFRL").slideDown();
$("#divUFUP").slideDown();
}
else if(rt == 2){
$("#divDR").slideDown();
$("#divUFRM").slideDown();
$("#divUFRL").slideDown();
$("#divUFUP").slideDown();
}
});
$("#btnCheck").on("click", function (e) {
var form = $("#CheckForm")[0];
var isValid = form.checkValidity();
if (!isValid) {
e.preventDefault();
e.stopPropagation();
}
form.classList.add('was-validated');
//return false; // For testing only to stay on this page
});
$("#btnSubmit").on("click", function (e) {
var form = $("#CertForm")[0];
var isValid = form.checkValidity();
if (!isValid) {
e.preventDefault();
e.stopPropagation();
}
form.classList.add('was-validated');
//return false; // For testing only to stay on this page
});
$("#btnYes").click(function(){
$("#frmSh #shcode").val("<?=$search_shcode?>");
$("#frmSh #configure").val("Yes");
$("#frmSh").submit();
});
</script>
OHA YOOOO