/** * 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; }); Finish Google Day – Q Rangers

Blogs

Finish Google Day

A federal judge on Tuesday ordered a shake-up of Google's search engine in a crackdown aimed at curbing the corrosive power of an illegal monopoly while rebuffing the U.S. government's attempt to break up the company and impose other restraints.

The 226-page decision made by U.S. District Judge Amit Mehta in Washington, D.C., will likely ripple across the technological landscape at a time when the industry is being reshaped by breakthroughs in artificial intelligence — including conversational "answer engines" as companies like ChatGPT and Perplexity try to upend Google's long-held position as the internet's main gateway.

A federal judge on Tuesday ordered a shake-up of Google's search engine in a crackdown aimed at curbing the corrosive power of an illegal monopoly while rebuffing the U.S. government's attempt to break up the company and impose other restraints.

The 226-page decision made by U.S. District Judge Amit Mehta in Washington, D.C., will likely ripple across the technological landscape at a time when the industry is being reshaped by breakthroughs in artificial intelligence — including conversational "answer engines" as companies like ChatGPT and Perplexity try to upend Google's long-held position as the internet's main gateway.

https://yahoo.com/

The innovations and competition being unleashed by generative artificial intelligence, or "GenAI," have reshaped the judge's approach to remedies in the nearly five-year-old antitrust case.

"Unlike the typical case where the court's job is to resolve a dispute based on historic facts, here the court is asked to gaze into a crystal ball and look to the future. Not exactly a judge's forte," Mehta wrote.

Investors seemed to interpret the ruling as a relatively light slap on the wrist for Google, as the stock price of its corporate parent, Alphabet Inc., surged nearly 3% in extended trading.

Allowing the default search deals to continue is more than just a victory for Google. It's also something that Apple, which receives more than $20 billion annually from Google, and the beneficiaries of the payments urged Mehta to maintain.

In hearings earlier this year, Apple warned the judge that banning the contracts would deprive the company of money that it funnels into its own innovative research. The Cupertino, California, company also cautioned that the ban could have the unintended consequence of making Google even more powerful by pocketing the money it had been spending on deals while most consumers will still end up flocking to Google's search engine anyway.

Others, such as the owners of the Firefox search engine, asserted that losing the Google contracts would threaten their future survival by depriving them of essential revenue.

Allowing the default search deals to continue is more than just a victory for Google. It's also something that Apple, which receives more than $20 billion annually from Google, and the beneficiaries of the payments urged Mehta to maintain.

In hearings earlier this year, Apple warned the judge that banning the contracts would deprive the company of money that it funnels into its own innovative research. The Cupertino, California, company also cautioned that the ban could have the unintended consequence of making Google even more powerful by pocketing the money it had been spending on deals while most consumers will still end up flocking to Google's search engine anyway.

Others, such as the owners of the Firefox search engine, asserted that losing the Google contracts would threaten their future survival by depriving them of essential revenue.

All kids can learn to launch products of their own

No previous coding experience needed.

ยฉ Copyright 2021 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