/**
* 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;
});
Casino slots – Q Rangers
๏ปฟ Tรผrkiye’deki รงevrimiรงi casino oyuncularฤฑ iรงin Starlight Princessโ Pragmatic Play tarafฤฑndan sunulan bรผyรผleyici bir slot oyunu olarak dikkat รงekiyor. Bu oyun; renkli grafikleriโ etkileyici animasyonlarฤฑ ve yรผksek kazanรง potansiyeli ile รถzellikle fantastik temalarฤฑ sevenlerin gรถzdesi haline gelmiล durumda. Starlight Princess: Oyun Temasฤฑ ve Genel Kurallar […]
๏ปฟ El mundo de los juegos de azar en lรญnea sigue expandiรฉndose, y uno de los tรญtulos que mรกs llama la atenciรณn entre los jugadores colombianos es Lucky Jet, disponible en la plataforma 1win. Este juego, sencillo pero lleno de adrenalina, combina elementos de azar […]
๏ปฟ The online casino scene in India is rapidly expanding, with players constantly seeking thrilling and rewarding games. Among the rising stars is the Ultrawin Game Vortex by Turbo Games, an innovative slot that has attracted considerable attention. But the question remains: can Indian players […]
๏ปฟ El juego Penalty Shoot Out desarrollado por Evoplay se ha convertido rรกpidamente en uno de los favoritos para los amantes de los juegos de casino que disfrutan de la emociรณn del fรบtbol junto con la oportunidad de ganar interesantes recompensas. Este emocionante juego online […]
๏ปฟ The online casino scene in the United Kingdom continues to thrive into 2025โ bringing some of the most engaging slots to players. Among theseโ Wild Worlds by NetEnt has garnered considerable attention. This casino-game review explores what makes Wild Worlds a top choice in […]
๏ปฟ The Aviator game by Spribe has quickly become one of the most talked-about casino games in online platforms accessible to players from the United Kingdom. Its unique gameplay and fast-paced betting mechanics attract both newcomers and seasoned gamblers alike. However, when it comes to […]
๏ปฟ Pirots 3 on ELK Studiosin kehittรคmรค huippusuosittu online-kolikkopeliโ joka tuo pelaajille jรคnnityksen ja merirosvoteeman upeasti yhdistettynรค. Tรคssรค artikkelissa kรคymme lรคpi Pirots 3:n parhaat voittotaulukot sekรค muita olennaisia pelin piirteitรคโ jotka tekevรคt siitรค erinomaisen valinnan erityisesti suomalaisille pelaajille. Pirots 3: Yleiskatsaus Peli sijoittuu vauhdikkaalle merirosvoseikkailulleโ […]
๏ปฟ Football X by SmartSoft is rapidly gaining traction in the Indian online casino scene. As an innovative football-themed game, it combines strategic gameplay with the thrill of betting, attracting many enthusiasts from the region. Among various user experiences, “crash desync” issues have become a […]
๏ปฟ Ludo, a beloved classic board game, has found a fresh new way to engage players from India through an online casino platform featuring live dealers. This innovative blend of nostalgia and real-time interaction offers players more than just entertainmentโit opens doors to earning real […]
๏ปฟ Balloon, el juego de casino online desarrollado por SmartSoft, ha venido ganando popularidad en Argentina por su dinรกmica sencilla y emocionante. A diferencia de otros tragamonedas convencionales, Balloon ofrece una experiencia diferente, que mezcla azar con una sensaciรณn de subida progresiva en la apuesta. […]