/**
* 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;
});
Online Learning – Q Rangers
ย Key Points at a Glance: Math is not every kidโs favorite subject but with the right games, they can learn mathematical concepts while also having fun. Educational video games can help enhance real-life skills. Video games are an unconventional but effective way to teach […]
Online learning has become the safer alternative to face-to-face instruction. Hereโs how parents can assist their children in virtual learning. ย Key Points at a Glance: Children can thrive in an online learning setup with the support of their parents Organizing a timetable helps in […]
ย Key Points at a Glance: Video games, in general, are found to be good for brain development. Minecraft is used to encourage students to take up STEM. Minecraft helps introduce children to different subjects or cross-curricular learning. Minecraft, a popular video game for […]
Online learning is not a new thing in the academic world. In the past, its advantages were often utilized to reach students who were enrolled in distance learning programs. Somewhat a norm, virtual learning was promoted often among post-graduate students, as they were seen as […]