| Server IP : 35.201.19.92 / Your IP : 216.73.216.101 Web Server : nginx System : Linux pod-200961 6.8.0-1055-gke #61-Ubuntu SMP Tue May 26 22:57:42 UTC 2026 x86_64 User : fpm200098 ( 200098) PHP Version : 8.2.35 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /nas/content/live/questfamilyday/wp-content/themes/generatepress_child/ |
Upload File : |
<?php
/**
* GeneratePress child theme functions and definitions.
*
* Add your custom PHP in this file.
* Only edit this file if you have direct access to it on your server (to fix errors if they happen).
*/
function generatepress_child_enqueue_scripts() {
if ( is_rtl() ) {
wp_enqueue_style( 'generatepress-rtl', trailingslashit( get_template_directory_uri() ) . 'rtl.css' );
}
$css_formrecord = date("ymd-Gis", filemtime( get_stylesheet_directory() . '/assets/css/form-record.css' ));
wp_enqueue_style( 'form-record-style', get_stylesheet_directory_uri() . '/assets/css/form-record.css', false, $css_formrecord );
}
add_action( 'wp_enqueue_scripts', 'generatepress_child_enqueue_scripts', 100 );
function generatepress_cdn_enqueue_scripts() {
if ( is_rtl() ) {
wp_enqueue_style( 'generatepress-rtl', trailingslashit( get_template_directory_uri() ) . 'rtl.css' );
}
wp_enqueue_style('twitter-bootstrap', 'https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css', array(), false);
wp_enqueue_style('octicons', 'https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/font/octicons.css', array(), false);
// Form Styles
$css_form1 = date("ymd-Gis", filemtime( get_stylesheet_directory() . '/assets/css/form-one-style.css' ));
$css_form2 = date("ymd-Gis", filemtime( get_stylesheet_directory() . '/assets/css/form-two-style.css' ));
wp_enqueue_style( 'form-one-style', get_stylesheet_directory_uri() . '/assets/css/form-one-style.css', false, $css_form1 );
wp_enqueue_style( 'form-two-style', get_stylesheet_directory_uri() . '/assets/css/form-two-style.css', false, $css_form2 );
// end form styles
wp_enqueue_script('twitter-bootstrapjs', 'https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js', array('jquery'), false, true);
wp_enqueue_script('twitter-bootstrapjs');
wp_enqueue_style('venobox-css', get_theme_file_uri( '/assets/venobox/venobox.css' ), array(), false);
wp_enqueue_script('venobox', get_theme_file_uri( '/assets/venobox/venobox.min.js' ), array('jquery'), false, true);
wp_enqueue_script('member-form', get_theme_file_uri( '/js/member-form.js' ), array('jquery'), '1.0.109', true);
$gravity_js_ver = date("ymd-Gis", filemtime( get_stylesheet_directory() . '/js/gravity-form.js' ));
wp_enqueue_script('gravity-form', get_theme_file_uri( '/js/gravity-form.js' ), array('jquery'), $gravity_js_ver, true);
$appform_js_ver = date("ymd-Gis", filemtime( get_stylesheet_directory() . '/js/app-form.js' ));
wp_enqueue_script('app-form', get_theme_file_uri( '/js/app-form.js' ), array('jquery'), $appform_js_ver, true);
wp_localize_script( 'app-form', 'ajax', array( 'url' => admin_url( 'admin-ajax.php' ) ) );
$planform_js_ver = date("ymd-Gis", filemtime( get_stylesheet_directory() . '/js/form-plan-generator.js' ));
wp_enqueue_script('plan-generator-form', get_theme_file_uri( '/js/form-plan-generator.js' ), array('jquery'), $planform_js_ver, true);
wp_localize_script( 'plan-generator-form', 'ajax', array( 'url' => admin_url( 'admin-ajax.php' ) ) );
wp_localize_script( 'member-form', 'ajax', array( 'url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'generatepress_cdn_enqueue_scripts', 1 );
add_action( 'wp_enqueue_scripts', 'enqueue_gravity_custom_script', 10, 2 );
function enqueue_gravity_custom_script() {
if ( is_page(6847) ) {
wp_enqueue_style( 'gform_basic' );
wp_enqueue_style( 'gform_theme_components' );
wp_enqueue_style( 'gform_theme_ie11' );
wp_enqueue_style( 'gform_theme' );
wp_enqueue_style( 'gforms_datepicker_css' );
wp_enqueue_script( 'jquery-ui-datepicker' );
wp_enqueue_script( 'gform_datepicker_legacy' );
wp_enqueue_script( 'gform_datepicker_init' );
}
}
// Update CSS within Admin
function custom_admin_style() {
wp_enqueue_style('custom-admin-styles', get_theme_file_uri( '/style-admin.css' ), false, '1.0.13', 'all' );
}
add_action('admin_enqueue_scripts', 'custom_admin_style');
//* Loading editor styles for the block editor (Gutenberg)
function site_block_editor_styles() {
wp_enqueue_style( 'site-block-editor-styles', get_theme_file_uri( '/style-editor.css' ), false, '1.0', 'all' );
}
add_action( 'enqueue_block_editor_assets', 'site_block_editor_styles' );
// Remove redirect to profile url
function profile_url_remove_in_redirect() {
if ( !is_user_logged_in() && isset( $_REQUEST['redirect_to'] ) && $_REQUEST['redirect_to'] == 'https://questfamilydaycare.com.au/profile' ) {
// wp_redirect( home_url( '/member-portal/' ) );
wp_redirect( home_url( '/login/' ) );
exit();
}
}
add_action( 'template_redirect', 'profile_url_remove_in_redirect' );
function members_page_logged_in_redirect() {
global $post;
$slug = $post->post_name;
$top_page_url = get_the_permalink( $post->ID );
$is_profile = false;
$slug_find = '/profile';
if ( is_page( 'profile' ) || str_contains($top_page_url, $slug_find)) {
$is_profile = true;
}
if ( $is_profile && !is_user_logged_in() ) {
// wp_redirect( home_url( '/member-portal/' ) );
wp_redirect( home_url( '/login/' ) );
exit();
}
}
add_action( 'template_redirect', 'members_page_logged_in_redirect' );
function step_page_redirect_if_not_logged_in() {
// var_dump(is_page( 'step-form' ));
// var_dump(is_user_logged_in());
// if ( is_page( 'step-form' ) && !is_user_logged_in() ) {
// wp_redirect( home_url( '/member-portal/?redirect_to='.home_url('step-form') ) );
// exit();
// }
}
add_action( 'template_redirect', 'step_page_redirect_if_not_logged_in' );
// Redirect to profile page
function redirect_to_member_profile() {
if ( is_user_logged_in() && is_admin() ) {
$user = wp_get_current_user();
if ( in_array( 'member', (array) $user->roles ) ) {
wp_redirect( home_url( '/profile/' ) );
exit();
}
}
if ( is_user_logged_in() && is_page( 672 )) {
wp_redirect( home_url( '/profile/' ) );
exit();
}
}
add_action( 'template_redirect', 'redirect_to_member_profile' );
// Redirect other users if access admin url (/wp-admin)
function restrict_other_roles_adminurl_redirect() {
if ( is_user_logged_in() && is_admin() ) {
$restricted_roles = array('member', 'relief_educator', 'assistant_educator', 'staff');
$is_restricted_user = false;
$user = wp_get_current_user();
$currentUserRoles = $user->roles;
$isMatchRoles = array_intersect( $currentUserRoles, $restricted_roles);
if ( !empty($isMatchRoles) ) :
$is_restricted_user = true;
endif;
if ( ! current_user_can( 'manage_options' ) && $is_restricted_user ) {
wp_redirect( home_url( '/profile/' ) );
exit;
}
}
}
// add_action( 'init', 'restrict_other_roles_adminurl_redirect' );
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
return 'Quest Family Day Care';
}
// Hooking up our functions to WordPress filters
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );
add_filter( 'wp_mail_from', 'my_mail_from' );
function my_mail_from( $email ) {
return "info@questfamilydaycare.com.au";
}
//Adding Portal Function file
require_once(get_stylesheet_directory() . '/portal/portal-theme-functions.php');
require_once(get_stylesheet_directory() . '/portal/functions-portal.php');
// Adding required files
require_once(get_stylesheet_directory() . '/admin/functions-variables.php');
require_once(get_stylesheet_directory() . '/admin/functions-educators-form.php');
require_once(get_stylesheet_directory() . '/admin/functions-educators-documents.php');
require_once(get_stylesheet_directory() . '/admin/MemberLogsTable.php');
require_once(get_stylesheet_directory() . '/admin/function-membership.php');
require_once(get_stylesheet_directory() . '/admin/documents-functions.php');
require_once(get_stylesheet_directory() . '/admin/member-step-form.php');
require_once(get_stylesheet_directory() . '/admin/function-profile.php');
require_once(get_stylesheet_directory() . '/admin/functions-application.php');
require_once(get_stylesheet_directory() . '/admin/functions-staff-application.php');
require_once(get_stylesheet_directory() . '/admin/functions-staff-uploads.php');
require_once(get_stylesheet_directory() . '/admin/functions-staff-documents.php');
require_once(get_stylesheet_directory() . '/admin/functions-shortcode.php');
require_once(get_stylesheet_directory() . '/admin/functions-weekly-reports.php');
// Birthday Notifications
require_once(get_stylesheet_directory() . '/birthday-notification/birthday-notification.php');
// New Forms functions and cpt
// require_once(get_stylesheet_directory() . '/admin/functions-applications-assistant-relief.php');
require_once(get_stylesheet_directory() . '/admin/records/functions-applications-assistant-educator.php');
require_once(get_stylesheet_directory() . '/admin/records/functions-applications-relief-educator.php');
require_once(get_stylesheet_directory() . '/admin/records/functions-cpt.php');
require_once(get_stylesheet_directory() . '/admin/records/custom-form-functions.php');
require_once(get_stylesheet_directory() . '/admin/records/form-preview-entry-templates.php');
require_once(get_stylesheet_directory() . '/admin/records/modern-profile.php');
require_once(get_stylesheet_directory() . '/admin/records/template-tags.php');
require_once(get_stylesheet_directory() . '/admin/records/records-template-functions.php');
// FDC Registers functions
require_once(get_stylesheet_directory() . '/admin/records/fdc-registers.php');
// FDC Registers functions
require_once(get_stylesheet_directory() . '/admin/records/risk-assessment-record-form.php');
require_once(get_stylesheet_directory() . '/admin/function-exemptions.php');
/**
* Register user through Gravity Form.
*
* @param array $entry Entered Data
* @param array $form Form Object
*/
add_action( 'gform_after_submission_5', 'register_user_by_gravity_form', 10, 2 );
function register_user_by_gravity_form( $entry, $form ) {
// The code that you want to run for submissions which aren't spam.
if ( rgar( $entry, 'status' ) === 'spam' ) {
return;
}
$display_name = rgar( $entry, '3.3' ).' '.rgar( $entry, '3.4' ).' '.rgar( $entry, '3.6' );
send_email_application_submitted($display_name, rgar( $entry, '23' ));
// $random_password = wp_generate_password(12,false);//Generate 12 digit password
// $display_name = rgar( $entry, '3.3' ).' '.rgar( $entry, '3.4' ).' '.rgar( $entry, '3.6' );
// $user_data =array(
// 'user_login' => rgar( $entry, '23' ),
// 'user_pass' => $random_password,
// 'user_email' => rgar( $entry, '23' ),
// 'first_name' => rgar( $entry, '3.3' ),
// 'last_name' => rgar( $entry, '3.6' ),
// 'display_name' => $display_name,
// 'role' => 'member'
// );
// $user_id = wp_insert_user($user_data);//Function to insert the user
// $all_data = json_encode($entry);
// update_user_meta( $user_id, 'random_password', $random_password );
// update_user_meta( $user_id, 'form_insert_id', $entry['id'] );
// update_user_meta( $user_id, 'form_id', $entry['id'] );
// update_user_meta( $user_id, 'all_data', $all_data );
// if($user_id > 0){//If user esists or inserted correctly
// $email_message="<p>Hello ".$display_name."</p>";
// $email_message.="<p>Congratullations! You're successfully signed up for the Quest Family Day Care.</p>";
// $email_message.="<p>Here are you login details:</p>";
// $email_message.="<p><strong>Login URL: </strong>".home_url('/member-portal')."</p>";
// $email_message.="<p><strong>Username: </strong>".rgar( $entry, '23' )."</p>";
// $email_message.="<p><strong>Password: </strong>".$random_password."</p>";
// $email_message.="<p> </p>";
// $email_message.="<p> </p>";
// $email_message.="<p> </p>";
// $email_message.="<p>Thank You</p>";
// $email_message.="<p>Quest Family Day Care Team</p>";
// $subject = 'Welcome to Quest Family Day Care';
// $headers = array('Content-Type: text/html; charset=UTF-8');
// //wp_mail($to, $subject, $email_message, $headers );//Send email to store manager
// wp_mail(rgar( $entry, '23' ), $subject, $email_message, $headers );//Send email to store manager
// }
// error_log(print_r($entry,true),3,$_SERVER['DOCUMENT_ROOT'].'/wp-content/themes/generatepress_child/value.txt');
}
function send_email_application_submitted($display_name, $email) {
$email_message="<p>Hello ".$display_name."</p>";
$email_message.="<p>Congratulations! Your application to become a family day care educator with Quest Family Day Care has been successfully submitted.</p>";
$email_message.="<p>We are reviewing your application and will notify you once your application has been accepted.</p>";
$email_message.="<p> </p>";
$email_message.="<p> </p>";
$email_message.="<p>Thank You</p>";
$email_message.="<p>Quest Family Day Care Team</p>";
$subject = 'Application Submitted to Quest Family Day Care';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail($email, $subject, $email_message, $headers );
}
add_shortcode('quiz-result', 'get_quiz_result');
function get_quiz_result() {
$html = '
<div class="quiz-result">
<p><strong>Quiz Results:</strong> '.$_GET['result'].'</p>
<p><strong>Score:</strong> '.$_GET['score'].'</p>
<p><strong>Percentage:</strong> '.$_GET['percentage'].'%</p>
</div>';
return $html;
}
/* Create Author Pro User Role */
add_role(
'staff', // System name of the role.
__( 'Staff' ) // Display name of the role.
);
// remove_role( 'staff' );
// Register Staff
add_action( 'gform_after_submission_13', 'register_staff_user_by_gravity_form', 10, 2 );
function register_staff_user_by_gravity_form( $entry, $form ) {
// The code that you want to run for submissions which aren't spam.
if ( rgar( $entry, 'status' ) === 'spam' ) {
return;
}
$display_name = rgar( $entry, '1.3' ).' '.rgar( $entry, '1.6' );
send_email_staff_application_submitted($display_name, rgar( $entry, '3' ));
}
function send_email_staff_application_submitted($display_name, $email) {
$email_message="<p>Hello ".$display_name."</p>";
$email_message.="<p>Congratulations! You're application successfully submitted for the Quest Family Day Care.</p>";
$email_message.="<p>We are reviewing your application for staff, we will notify once application is approved.</p>";
$email_message.="<p> </p>";
$email_message.="<p> </p>";
$email_message.="<p>Thank You</p>";
$email_message.="<p>Quest Family Day Care Team</p>";
$subject = 'Application Submitted to Quest Family Day Care';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail($email, $subject, $email_message, $headers );
}
function quest_check_staff_user_role( $roles ) {
/*@ Check user logged-in */
if ( is_user_logged_in() ) :
/*@ Get current logged-in user data */
$user = wp_get_current_user();
/*@ Fetch only roles */
$currentUserRoles = $user->roles;
/*@ Intersect both array to check any matching value */
$isMatching = array_intersect( $currentUserRoles, $roles);
$response = false;
/*@ If any role matched then return true */
if ( !empty($isMatching) ) :
$response = true;
endif;
return $response;
endif;
}
$roles = [ 'staff','relief_educator' ];
if ( quest_check_staff_user_role($roles) ) :
add_filter('show_admin_bar', '__return_false');
endif;
// Add Custom User Meta Field
function userMetaExcludeOnFrontendLists($user) {
$user_excluded = false;
if ( esc_attr(get_user_meta($user->ID, 'user_exclude_frontend_list', true)) == "yes" ) {
$user_excluded = true;
}
// var_dump(esc_attr(get_user_meta($user->ID, 'user_exclude_frontend_list', true)));
?>
<h3>Frontend Listing</h3>
<table class="form-table">
<tr>
<th>Frontend Exclude</th>
<td>
<label for="user_exclude_frontend_list">
<input
type="checkbox"
value="yes"
<?php echo ($user_excluded ? 'checked="checked"' : ''); ?>
name="user_exclude_frontend_list"
id="user_exclude_frontend_list"
>
Yes, exclude in frontend lists
</label>
<p class="description">If checked, this user account will not appear in the frontend lists</p>
</td>
</tr>
</table>
<h3>Supervised By</h3>
<table class="form-table">
<tr>
<th>User ID</th>
<td>
<input type="number" name="assigned_educator_id" id="assigned_educator_id" value="<?php echo get_user_meta($user->ID, 'assigned_educator_id', true); ?>">
</td>
</tr>
</table>
<?php
}
add_action('show_user_profile', 'userMetaExcludeOnFrontendLists');
add_action('edit_user_profile', 'userMetaExcludeOnFrontendLists');
add_action('user_new_form', 'userMetaExcludeOnFrontendLists');
function userMetaExcludeOnFrontendListsSave($userId) {
if (!current_user_can('edit_user', $userId)) {
return;
}
update_user_meta($userId, 'user_exclude_frontend_list', $_REQUEST['user_exclude_frontend_list']);
update_user_meta($userId, 'assigned_educator_id', $_REQUEST['assigned_educator_id']);
}
add_action('personal_options_update', 'userMetaExcludeOnFrontendListsSave');
add_action('edit_user_profile_update', 'userMetaExcludeOnFrontendListsSave');
add_action('user_register', 'userMetaExcludeOnFrontendListsSave');
add_filter( 'gform_column_input_45_7_4', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
return array( 'type' => 'select', 'choices' => ',Wet,Dry,Soiled' );
}
add_filter( 'gform_column_input_46_7_5', 'set_sunscreen_application_column', 10, 5 );
function set_sunscreen_application_column( $input_info, $field, $column, $value, $form_id ) {
return array( 'type' => 'select', 'choices' => ',Y,N' );
}
add_filter( 'gform_column_input_82_120_3', 'set_column_register_educators_adult', 10, 5 );
function set_column_register_educators_adult( $input_info, $field, $column, $value, $form_id ) {
return array( 'type' => 'select', 'choices' => ',Working With Children Check,Criminal History Record Check,Current Teacher Registration,Working With Vulnerable People Check' );
}
add_filter( 'gform_column_input_85_30_2', 'sleep_rest_risk_form_column', 10, 5 );
function sleep_rest_risk_form_column( $input_info, $field, $column, $value, $form_id ) {
return array( 'type' => 'select', 'choices' => ',Yes,No' );
}
add_filter( 'gform_notification_105', 'add_attachment_checklists_pdf', 10, 3 );
function add_attachment_checklists_pdf( $notification, $form, $entry ) {
if( $notification['name'] == 'User Notification' ) {
//get upload root for WordPress
$upload = wp_upload_dir();
$upload_path = $upload['basedir'];
// Add file, use server absolute full path to your file.
$attachment = $upload_path . '/2025/03/Family-Day-Care-Self-Assessment-Checklist.pdf';
if ( file_exists( $attachment ) ) {
$notification['attachments'] = rgar( $notification, 'attachments', array() );
$notification['attachments'][] = $attachment;
} else {
GFCommon::log_debug( __METHOD__ . '(): not attaching; file does not exist.' );
}
}
return $notification;
}
function custom_admin_css() {
echo '<style>
/* Your custom CSS rules for the admin area go here */
#elementor-panel-state-loading {
/* Example: Change the Elementor logo in the admin bar */
display: none !important;
}
</style>';
}
add_action('admin_head', 'custom_admin_css');