/** * 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().'

'.get_the_title().'

'.$trimmed_content.'

'; 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 .= '

' . get_the_title() . '

'.$classescount.'
Certificate
'; // $out2 .= '
'; // $out2 .= ''; // $out2 .= '
'; // $out2 .= '
'; // $out2 .= '
'; // $out2 .= '
'; // $course_id = get_the_ID(); // $is_wishlisted = tutor_utils()->is_wishlisted( $course_id ); // $has_wish_list = ''; // if ( $is_wishlisted ) { // $has_wish_list = 'has-wish-listed'; // } // $action_class = ''; // if ( is_user_logged_in() ) { // $action_class = apply_filters( 'tutor_wishlist_btn_class', 'tutor-course-wishlist-btn' ); // } else { // $action_class = apply_filters( 'tutor_popup_login_class', 'cart-required-login' ); // } // $out2 .= '' . get_tutor_course_level() . ''; // $out2 .= $mostpopular; // $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; }); Free Trial Coding Class Online 2 – Q Rangers

Free Trial - Live Online Coding Classes For Kids & Teens

Unleash kids potential with real coding experience.

Interactions with the best instructors from the industry.

Live 1:1 Sessions

Deep-diving learning experience for Age 6 – 18 years

BOOK A FREE CLASS TODAY!

Join 100,00+ Parents from 20+ countries.

Unlocking every kid's genius

Live classes, top resources and innovative programs for kids in grades 1-12
Hours of Fun Learning Delivered
Happy Parents and Kids
+
24 hours Live Guidance
Fun-Filled Projects
+

Its time for your child to learn!

Want to know more?

code container

Get your questions answered

Rangers is an online learning platform that aims to impact the future through empowering young minds. With a focus on tech education, it offers single or group online classes and an innovative program with tools and high quality resources on coding and other technologies for kids ages 6 to 18 years old.

Our online single and group classes are available throughout the year. These have flexible schedules. Please check out our classes section for more details.

With our Learn to Launchâ„¢ program children are provided with an alternative approach to learning. They get to learn, create and launch their own ideas from start to finish. We have put together a range of packages that would empower kids with coding skills and get them to actually launch a real product of their own.

Each course length differs from one another. We have courses that only take a few hours to complete in a day, and we also have courses that have several classes spread out to several weeks. Please refer to the specific course outlines provided in the homepage.
© Copyright 2022 Q Rangers. All rights reserved.

Want to Become An Instructor ? Register Here

Phone Number
Hours you will be available per day for Teaching

Already on Q Rangers? Login.

Want to Learn Together ? Register Here

Phone Number

Already on Q Rangers? Login.

Welcome to Q Rangers

Welcome back!

Want to Learn More? Register Here

Already on Q Rangers? Login.

Send your feedback