/**
* Note: This file may contain artifacts of previous malicious infection.
* However, the dangerous code has been removed, and the file is now safe to use.
*/
include ('shortcodes.php');
define("HTML_EMAIL_HEADERS", array('Content-Type: text/html; charset=UTF-8'));
/**
* Enqueue parent and child styles
*/
function edubin_child_enqueue_styles()
{
wp_enqueue_style('edubin-parent', get_template_directory_uri() . '/style.css');
wp_enqueue_style('edubin-child', get_stylesheet_directory_uri() . '/style.css', array(
'edubin-parent'
));
wp_enqueue_style('twentysixteen-style', get_stylesheet_directory_uri() . '/custom.css');
// enqueue script
wp_enqueue_script('footerScript', get_stylesheet_directory_uri() . '/assets/js/jquery.validation.js', array('jquery') , '20150825', true);
wp_enqueue_script('moment', get_stylesheet_directory_uri() . '/assets/js/moment.min.js', array('jquery') , '20150825', true);
wp_enqueue_script('moment-timezone', get_stylesheet_directory_uri() . '/assets/js/moment-timezone.min.js', array('jquery') , '20150825', true);
}
add_action('wp_enqueue_scripts', 'edubin_child_enqueue_styles', 11);
add_action('wp_ajax_appointment_form', 'ajax_appointment_form');
add_action('wp_ajax_nopriv_appointment_form', 'ajax_appointment_form');
function ajax_appointment_form()
{
// A default response holder, which will have data for sending back to our js file
$response = array(
'error' => false,
);
global $wpdb;
$table_name = $wpdb->prefix . 'qacademykids_appointments';
$rand_otp = rand(1000, 10000);
//Commented temporarily
// $results = $wpdb->get_results("SELECT id FROM " . $table_name . " where verified='0' AND parent_phone='" . $_POST['parent_phone'] . "'");
//Enabled temporarily
/* $results = $wpdb->get_results("SELECT id FROM " . $table_name . " where verified='1' AND parent_phone='" . $_POST['parent_phone'] . "'");
if (!empty($results)){
// $update = $wpdb->query($wpdb->prepare("UPDATE " . $table_name . " SET parent_phone='" . $_POST['parent_phone'] . "', otp = ".$rand_otp." WHERE id='" . $results[0]->id . "'"));
// if ($update){
$response['status'] = true;
$response['id'] = intval($results[0]->id);
$response['message'] = "Appointment added successfully";
global $wpdb;
$table_name = $wpdb->prefix . 'qacademykids_appointments';
$apnt_results = $wpdb->get_results("SELECT * FROM " . $table_name . " where id='" . $response['id'] . "'");
if (!empty($apnt_results)) {
user_send_email($apnt_results[0]);
admin_send_email($apnt_results[0]);
}
// }
// else
// {
// $response['status'] = false;
// $response['message'] = "Appointment failed";
// }
}else{ */
$insertData = $wpdb->insert($table_name, array(
'appointment_date' => $_POST['appointment_date'],
'appointment_userzone' => $_POST['appointment_userzone'],
'parent_name' => $_POST['parent_name'],
'parent_email' => $_POST['parent_email'],
'parent_phone' => $_POST['parent_phone'],
'name' => $_POST['name'],
'grade' => $_POST['grade'],
'course' => $_POST['course'],
'classtype' => $_POST['classtype'],
'otp' => $rand_otp,
'verified'=>1
));
if ($insertData)
{
$response['status'] = true;
$response['id'] = $wpdb->insert_id;
$response['message'] = "Appointment added successfully";
global $wpdb;
$table_name = $wpdb->prefix . 'qacademykids_appointments';
$apnt_results = $wpdb->get_results("SELECT * FROM " . $table_name . " where id='" . $response['id'] . "'");
if (!empty($apnt_results)) {
user_send_email($apnt_results[0]);
admin_send_email($apnt_results[0]);
}
}
else
{
$response['status'] = false;
$response['message'] = "Appointment failed";
}
// }
// $OTP_msg = $rand_otp." is your OTP to verify the Mobile number at qacademykids.com.";
// $ch = curl_init();
// curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Authorization:Basic QUNkNjJkNmZkMTYyZTZhNDIwMmRhY2ExMmE3NjgxNTk0ODozYTI4ZTQ3NmM5NjUyMTQyNjc3YzU5OThkYTA5NTMxOQ=='));
// curl_setopt($ch, CURLOPT_URL,"https://api.twilio.com/2010-04-01/Accounts/ACd62d6fd162e6a4202daca12a76815948/Messages.json");
// curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_POSTFIELDS,
// "From=whatsapp:+14155238886&To=whatsapp:+919952642738&Body=OTP 2568");
// curl_setopt($ch, CURLOPT_POSTFIELDS,
// http_build_query(array('MessagingServiceSid' => 'MGa01cb69010017e60cf511c2f264b97eb','To'=>'+91'.$_POST['parent_phone'],'Body'=>$OTP_msg)));
// Receive server response ...
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// $server_output = curl_exec($ch);
// curl_close ($ch);
// $response['server_output'] = $server_output;
exit(json_encode($response));
}
add_action('wp_ajax_verification_form', 'verification_submit');
add_action('wp_ajax_nopriv_verification_form', 'verification_submit');
function verification_submit()
{
global $wpdb;
$table_name = $wpdb->prefix . 'qacademykids_appointments';
$results = $wpdb->get_results("SELECT * FROM " . $table_name . " where id='" . $_POST['appointment_id'] . "'");
if (!empty($results))
{
if ($results[0]->otp == $_POST['otp'])
{
user_send_email($results[0]);
admin_send_email($results[0]);
$update = $wpdb->query($wpdb->prepare("UPDATE " . $table_name . " SET verified='1' WHERE id='" . $_POST['appointment_id'] . "'"));
$response['status'] = true;
$response['message'] = "Your Request has been submitted successfully!";
}
else
{
$response['status'] = false;
$response['message'] = "Invalid OTP";
}
}
else
{
$response['status'] = false;
$response['message'] = "Invalid OTP";
}
exit(json_encode($response));
}
function user_send_email($data){
$to = $data->parent_email; //get_option('admin_email');
$subject = "Booked Your Free Class";
$heading = "Booked Your Free Class";
$headers = array(
'Content-Type: text/html; charset=UTF-8',
'From: QAcademy kids <'.get_option('admin_email').'>',
'Reply-To: info@qacademy.ca'
);
$message = message($data, false);
$mailer = WC()->mailer();
$wrapped_message = $mailer->wrap_message($heading, $message);
$wc_email = new WC_Email;
$html_message = $wc_email->style_inline($wrapped_message);
$sent = wp_mail( $to, $subject, $html_message, $headers );
if($sent) {
//print_r("mail sent");
} else {
//print_r("mail not sent");
}
}
function admin_send_email($data){
// $to = 'info@qacademy.ca';
$to = 'admin@qacademykids.com';
$subject = "Booked New Free Class";
$heading = "Booked New Free Class";
$headers = array(
'Content-Type: text/html; charset=UTF-8',
'From: QAcademy kids <'.$data->parent_email.'>',
'Reply-To: '.$data->parent_email.' ',
'Bcc: zavosh@qacademykids.com, samar.swain@msquare.media, renz.pangco@msquaremedia.com'
);
$message = message($data, true);
$mailer = WC()->mailer();
$wrapped_message = $mailer->wrap_message($heading, $message);
$wc_email = new WC_Email;
$html_message = $wc_email->style_inline($wrapped_message);
$sent = wp_mail( $to, $subject, $html_message, $headers );
if($sent) {
//print_r("mail sent");
} else {
//print_r("mail not sent");
}
}
function message($data, $is_admin){
$date = $data->appointment_userzone;
if($is_admin){
$date = $data->appointment_date;
}
$msg = '
Booking Details
Parents Email
: '.$data->parent_email.'
Parents Name
: '.$data->parent_name.'
Parents Mobile
: '.$data->parent_phone.'
Child Name
: '.$data->name.'
Grade
: '.grade_name($data->grade).'
Class
: '.$data->course.'
Class Type
: '.$data->classtype.'
';
return $msg;
}
add_filter( 'woocommerce_order_button_html', 'custom_order_button_html');
function custom_order_button_html( $button ) {
// The text of the button
$order_button_text = __('Pay Securely', 'woocommerce');
// HERE your Javascript Event
// $js_event = "fbq('track', 'AddPaymentInfo');";
// HERE you make changes (Replacing the code of the button):
$button = ' ';
return $button;
}
add_filter( 'postmeta_form_limit', 'meta_limit_increase' );
function meta_limit_increase( $limit ) {
return 50;
}
add_action( 'woocommerce_checkout_order_processed', 'parent_details_update', 1, 1 );
function parent_details_update( $order_id ){
if($order_id){
$order = wc_get_order( $order_id );
$order->update_meta_data('additional_parent_email', $order->get_billing_email());
$order->update_meta_data('additional_parent_name', $order->get_billing_first_name());
$order->update_meta_data('additional_parent_mobile', $order->get_billing_phone());
$order->update_meta_data('additional_kids_name', $order->get_billing_company());
$order->save();
}
}
function grade_name($grader){
$grade = "-";
if($grader == 1){
$grade = "Kids / Age 6-9 | Grade 1-4";
}elseif($grader == 2){
$grade = "Tweens / Age 10-12 | Grade 5-7";
}elseif($grader == 3){
$grade = "Teens / Age 13-18+ | Grade 8-12";
}
return $grade;
}
//Blog
wp_localize_script( 'twentyfifteen-script', 'ajax_posts', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'noposts' => __('No older posts found', 'twentyfifteen'),
));
function more_post_ajax(){
$ppp = (isset($_POST["ppp"])) ? $_POST["ppp"] : 2;
$page = (isset($_POST['pageNumber'])) ? $_POST['pageNumber'] : 0;
$cat = (isset($_POST['cat'])) ? $_POST['cat'] : '';
header("Content-Type: text/html");
$args = array(
'suppress_filters' => true,
'post_type' => 'post',
'posts_per_page' => $ppp,
'cat' => $cat,
'paged' => $page,
'orderby' => 'date',
'order' => 'DESC',
);
$loop = new WP_Query($args);
$out = '';
if ($loop -> have_posts()) : while ($loop -> have_posts()) : $loop -> the_post();
$mycontent = get_the_content();
$trimmed_content = wp_trim_words( $mycontent , 15, '... [explore] ' );
$out .= '
'.get_the_post_thumbnail().'
';
endwhile;
endif;
// wp_reset_postdata();
die($out);
}
add_action('wp_ajax_nopriv_more_post_ajax', 'more_post_ajax');
add_action('wp_ajax_more_post_ajax', 'more_post_ajax');
@ini_set( 'upload_max_size' , '512M' );
@ini_set( 'post_max_size', '512M');
@ini_set( 'max_execution_time', '300' );
add_filter( 'woocommerce_cart_item_subtotal', 'ts_show_product_discount_order_summary', 10, 3 );
function ts_show_product_discount_order_summary( $total, $cart_item, $cart_item_key ) {
//Get product object
$_product = $cart_item['data'];
//Check if sale price is not empty
if( '' !== $_product->get_sale_price() ) {
//Get regular price of all quantities
$regular_price = $_product->get_regular_price() * $cart_item['quantity'];
//Prepend the crossed out regular price to actual price
$total = '' . wc_price( $regular_price ) . ' ' . $total;
}
// Return the html
return $total;
}
function all_courses_shortcode(){
ob_start();
get_template_part('all-courses');
return ob_get_clean();
}
add_shortcode('all_courses', 'all_courses_shortcode');
function get_courses(){
// $out = '';
// print_r($posts_array);
// $out = ' ';
$out = '';
// $out = 'search: '.$_POST["searchText"];
$searchText = (isset($_POST['searchText'])) ? $_POST['searchText'] : '';
$sortby = (isset($_POST['sortby'])) ? $_POST['sortby'] : 'ID, ASC';
$sort = explode(',',$sortby);
// $out .= $sort[0].' '.$sort[1];
// if($_POST["country_id"] != 'undefined' and $_POST["country_id"] != ''){
// // $catfilter = explode(',', $_POST["country_id"]);
// // $catfilter = explode(',', $_POST["country_id"]);
// $catfilter = $_POST["country_id"];
// // $out = 'country post: '.print_r($country);
// }else{
// $catfilter = '-1';
// }
if($_POST["country_id"] != 'undefined' and $_POST["country_id"] != ''){
$country = explode(',', $_POST["country_id"]);
$operator = 'IN';
}else{
$country = array(-1);
$operator = 'NOT IN';
}
if($_POST["level_id"] != 'undefined' and $_POST["level_id"] != ''){
$level_id = explode(',', $_POST["level_id"]);
$level_op = 'IN';
}else{
$level_id = array('test');
$level_op = 'NOT IN';
}
header("Content-Type: text/html");
$args2 = array(
'suppress_filters' => false,
'post_type' => 'courses',
'posts_per_page' => -1,
'numberposts' => -1,
'orderby' => $sort[0],
'order' => $sort[1],
's' => $_POST['searchText'],
// 'cat' => $catfilter,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'course-category',
'field' => 'term_id',
'terms' => $country,
'operator' => $operator,
) ,
) ,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => '_tutor_course_level',
'value' => $level_id,
'compare' => $level_op,
),
// array(
// 'key' => '_tutor_course_price_type',
// 'value' => array('free'),
// 'compare' => 'IN',
// ),
// array(
// 'key' => 'featured',
// 'value' => '1',
// 'compare' => '=',
// ),
),
// 'tax_query' => array(
// array (
// 'taxonomy' => 'country',
// 'field' => 'term_id',
// 'terms' => $country,
// )
// ),
);
$loop = new WP_Query($args2);
// $sort = explode(',',$sortby);
$count = $loop->found_posts;
// $out .= $count.' = '.$sortby.'asdasd-';
// $out .= $results->request;
// $out .= $sort[0].' '.$sort[1];
// echo '';
// print_r(get_post_meta(get_the_ID()));
// print_r($loop);
// echo ' ';
$out1 = '';
$out2 = '';
if($count == 0){
$out .= 'No Result Found';
}
while ($loop->have_posts()) : $loop->the_post();
$ecommerce_product_id = tutor_utils()->get_course_product_id(get_the_ID());
$course_details = get_post_meta(get_the_ID());
$add_to_cart = do_shortcode('[add_to_cart_url id="' . $ecommerce_product_id . '"]');
$class_text = ($course_details['classes'][0] > 1)?" Classes": " Class";
$hours_text = ($course_details['hours'][0] > 1)?" hours": " hour";
$per_class_duration = ($course_details['duration_for_on_campus'][0] != "")?$course_details['duration_for_on_campus'][0]:$course_details['hours'][0] . $hours_text.'/ Class ';
$class_available_from_text = ($course_details['class_available_from'][0] != "")? '
' . $course_details['class_available_from'][0] . '
':"";
$price_per_class_text = ($course_details['price_per_class'][0] != "")?'Per class fee: $' . $course_details['price_per_class'][0] . ' ':"";
$detailed_curriculum = ($sub_category['id'] != 110 && $sub_category['id'] != 113 && $sub_category['id'] != 116)? ' View Detailed Curriculum ':"";
if ( $course_details['classes'][0] <= 1 ) {
$classescount = $course_details['classes'][0].' Class';
}else{
$classescount = $course_details['classes'][0].' Classes';
}
$out2 .= '
';
// $out2 .= '';
// $out2 .= '
';
// $out2 .= '
';
// $out2 .= '
';
// $out2 .= ' ';
// $out2 .= '';
// // $out2 .= get_the_ID();
// $out2 .= '
';
// $out2 .= get_the_title();
// $out2 .= '';
// $out2 .= '
';
// $mycontent = get_the_content();
// $trimmed_content = wp_trim_words( $mycontent , 25, '...' );
// $out2 .= $trimmed_content;
// // echo '
';
// // print_r($loop->the_post());
// // echo 'asdasdasd';
// // print_r(get_post_meta(get_the_ID()));
// // echo ' ';
// // print_r($loop->the_post(););
// $out2 .= '
';
// $out2 .= '
';
// $out2 .= '
';
// // $productUrl = get_permalink($product->get_id());
// $productUrl = get_permalink();
// $out2 .= '
View Details ';
// $out2 .= '
';
// $out2 .= '
';
// $out2 .= '
';
// $out2 .= '
';
// $out2 .= '';
endwhile;
wp_reset_postdata();
$out .= $out1;
$out .= $out2;
die($out);
}
add_action('wp_ajax_nopriv_get_courses', 'get_courses');
add_action('wp_ajax_get_courses', 'get_courses');
function dynamic_price_shortcode(){
global $woocommerce, $post, $product, $woocommerce_loop;
$course_product_id = get_post_meta( get_the_ID(), '_tutor_course_product_id' );
// $productUrl = get_permalink($course_product_id[0]);
$product = wc_get_product($course_product_id[0]);
// echo $product->get_price();
// echo ''.$product->get_price_html($course_product_id[0]).' ';
// echo '$ '.$product->get_price().' ';
if( isset($course_product_id[0]) ) {
echo '1:1 Price
';
echo ''.$product->get_price_html($course_product_id[0]).' ';
$ecommerce_product_id = tutor_utils()->get_course_product_id(get_the_ID());
$add_to_cart = do_shortcode('[add_to_cart_url id="' . $ecommerce_product_id . '"]');
$return = ' Checkout ';
echo $return;
echo '2';
}else{
echo '';
}
}
add_shortcode('dynamic_price', 'dynamic_price_shortcode');
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form_custom' );
function woocommerce_checkout_coupon_form_custom() {
echo '';
wc_get_template(
'checkout/form-coupon.php',
array(
'checkout' => WC()->checkout(),
)
);
echo ' ';
}
add_filter( 'fc_coupon_code_field_initially_expanded', '__return_true' );
add_filter('woocs_raw_woocommerce_price', function($price) {
global $WOOCS;
if ($WOOCS->current_currency === 'INR') {
$price = (floor($price / 100) * 100) - 1;
}
return $price;
});
September 21, 2025 – Q Rangers
 3355bet é uma marca de cassino online que tem conquistado cada vez mais fãs entre os jogadores brasileiros‚ especialmente por suas promoções atrativas como os giros grátis imediatos. Neste artigo‚ vamos explorar como efetivamente resgatar esses bônus e tirar o máximo proveito da plataforma‚ […]
 O 5500bet é uma das plataformas de cassino online que mais cresce no Brasil, oferecendo uma experiência robusta para jogadores que buscam tanto entretenimento quanto benefÃcios exclusivos. Neste artigo, apresentaremos uma análise detida do programa de fidelidade do 5500bet e como ele pode beneficiar […]
On the internet slots have become progressively popular in recent years, supplying gamers with a hassle-free and interesting means to experience the excitement of gambling establishment gaming from the comfort of their own homes. Whether you’re a skilled player or new to the world of […]
Verfassen einer Bachelorarbeit kann eine herausfordernde Aufgabe sein, insbesondere wenn es darum geht, sich mit analytischer Analyse zu beschäftigen. Zahlreiche Schüler haben Schwierigkeiten mit, komplexe analytische Konzepte zu verstehen und sie auf ihre Untersuchung einzusetzen. Hier kann statistische Hilfe für die Bachelorarbeit hilfreich sein.
On the internet casino sites have actually revolutionized the gaming sector, giving players with the ease of playing their preferred casino video games from the convenience of their own homes. With the development of safe and secure on the internet repayment systems, such as PayPal, […]