/**
* 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;
});
October 7, 2021 – Q Rangers
ย Key Points at a Glance: Children as early as 3 months can experience stress and show it in different ways too. Different ways parents can help their children cope with stress include being a listener and being patient, and by limiting the cause of […]