🌌 SpectraShell

🌌 SpectraShell

Current path: home/a1642gum/public_html/



⬆️ Go up: a1642gum

πŸ“„ Viewing: wp-mail.php

<?php
/**
 * Gets the email message from the user's mailbox to add as
 * a WordPress post. Mailbox connection information must be
 * configured under Settings > Writing
 *
 * @package WordPress
 */

/** Make sure that the WordPress bootstrap has run before continuing. */
require __DIR__ . '/wp-load.php';

/** This filter is documented in wp-admin/options.php */
if ( ! apply_filters( 'enable_post_by_email_configuration', true ) ) {
	wp_die( __( 'This action has been disabled by the administrator.' ), 403 );
}

$mailserver_url = get_option( 'mailserver_url' );

if ( empty( $mailserver_url ) || 'mail.example.com' === $mailserver_url ) {
	wp_die( __( 'This action has been disabled by the administrator.' ), 403 );
}

/**
 * Fires to allow a plugin to do a complete takeover of Post by Email.
 *
 * @since 2.9.0
 */
do_action( 'wp-mail.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores

/** Get the POP3 class with which to access the mailbox. */
require_once ABSPATH . WPINC . '/class-pop3.php';

/** Only check at this interval for new messages. */
if ( ! defined( 'WP_MAIL_INTERVAL' ) ) {
	define( 'WP_MAIL_INTERVAL', 5 * MINUTE_IN_SECONDS );
}

$last_checked = get_transient( 'mailserver_last_checked' );

if ( $last_checked ) {
	wp_die(
		sprintf(
			// translators: %s human readable rate limit.
			__( 'Email checks are rate limited to once every %s.' ),
			human_time_diff( time() - WP_MAIL_INTERVAL, time() )
		),
		__( 'Slow down, no need to check for new mails so often!' ),
		429
	);
}

set_transient( 'mailserver_last_checked', true, WP_MAIL_INTERVAL );

$time_difference = (int) ( (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );

$phone_delim = '::';

$pop3 = new POP3();

if ( ! $pop3->connect( get_option( 'mailserver_url' ), get_option( 'mailserver_port' ) ) || ! $pop3->user( get_option( 'mailserver_login' ) ) ) {
	wp_die( esc_html( $pop3->ERROR ) );
}

$count = $pop3->pass( get_option( 'mailserver_pass' ) );

if ( false === $count ) {
	wp_die( esc_html( $pop3->ERROR ) );
}

if ( 0 === $count ) {
	$pop3->quit();
	wp_die( __( 'There does not seem to be any new mail.' ) );
}

// Always run as an unauthenticated user.
wp_set_current_user( 0 );

for ( $i = 1; $i <= $count; $i++ ) {

	$message = $pop3->get( $i );

	$bodysignal                = false;
	$boundary                  = '';
	$charset                   = '';
	$content                   = '';
	$content_type              = '';
	$content_transfer_encoding = '';
	$post_author               = 1;
	$author_found              = false;
	$post_date                 = null;
	$post_date_gmt             = null;

	foreach ( $message as $line ) {
		// Body signal.
		if ( strlen( $line ) < 3 ) {
			$bodysignal = true;
		}
		if ( $bodysignal ) {
			$content .= $line;
		} else {
			if ( preg_match( '/Content-Type: /i', $line ) ) {
				$content_type = trim( $line );
				$content_type = substr( $content_type, 14, strlen( $content_type ) - 14 );
				$content_type = explode( ';', $content_type );
				if ( ! empty( $content_type[1] ) ) {
					$charset = explode( '=', $content_type[1] );
					$charset = ( ! empty( $charset[1] ) ) ? trim( $charset[1] ) : '';
				}
				$content_type = $content_type[0];
			}
			if ( preg_match( '/Content-Transfer-Encoding: /i', $line ) ) {
				$content_transfer_encoding = trim( $line );
				$content_transfer_encoding = substr( $content_transfer_encoding, 27, strlen( $content_transfer_encoding ) - 27 );
				$content_transfer_encoding = explode( ';', $content_transfer_encoding );
				$content_transfer_encoding = $content_transfer_encoding[0];
			}
			if ( 'multipart/alternative' === $content_type && str_contains( $line, 'boundary="' ) && '' === $boundary ) {
				$boundary = trim( $line );
				$boundary = explode( '"', $boundary );
				$boundary = $boundary[1];
			}
			if ( preg_match( '/Subject: /i', $line ) ) {
				$subject = trim( $line );
				$subject = substr( $subject, 9, strlen( $subject ) - 9 );
				// Captures any text in the subject before $phone_delim as the subject.
				if ( function_exists( 'iconv_mime_decode' ) ) {
					$subject = iconv_mime_decode( $subject, 2, get_option( 'blog_charset' ) );
				} else {
					$subject = wp_iso_descrambler( $subject );
				}
				$subject = explode( $phone_delim, $subject );
				$subject = $subject[0];
			}

			/*
			 * Set the author using the email address (From or Reply-To, the last used)
			 * otherwise use the site admin.
			 */
			if ( ! $author_found && preg_match( '/^(From|Reply-To): /', $line ) ) {
				if ( preg_match( '|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches ) ) {
					$author = $matches[0];
				} else {
					$author = trim( $line );
				}
				$author = sanitize_email( $author );
				if ( is_email( $author ) ) {
					$userdata = get_user_by( 'email', $author );
					if ( ! empty( $userdata ) ) {
						$post_author  = $userdata->ID;
						$author_found = true;
					}
				}
			}

			if ( preg_match( '/Date: /i', $line ) ) { // Of the form '20 Mar 2002 20:32:37 +0100'.
				$ddate = str_replace( 'Date: ', '', trim( $line ) );
				// Remove parenthesized timezone string if it exists, as this confuses strtotime().
				$ddate           = preg_replace( '!\s*\(.+\)\s*$!', '', $ddate );
				$ddate_timestamp = strtotime( $ddate );
				$post_date       = gmdate( 'Y-m-d H:i:s', $ddate_timestamp + $time_difference );
				$post_date_gmt   = gmdate( 'Y-m-d H:i:s', $ddate_timestamp );
			}
		}
	}

	// Set $post_status based on $author_found and on author's publish_posts capability.
	if ( $author_found ) {
		$user        = new WP_User( $post_author );
		$post_status = ( $user->has_cap( 'publish_posts' ) ) ? 'publish' : 'pending';
	} else {
		// Author not found in DB, set status to pending. Author already set to admin.
		$post_status = 'pending';
	}

	$subject = trim( $subject );

	if ( 'multipart/alternative' === $content_type ) {
		$content = explode( '--' . $boundary, $content );
		$content = $content[2];

		// Match case-insensitive Content-Transfer-Encoding.
		if ( preg_match( '/Content-Transfer-Encoding: quoted-printable/i', $content, $delim ) ) {
			$content = explode( $delim[0], $content );
			$content = $content[1];
		}
		$content = strip_tags( $content, '<img><p><br><i><b><u><em><strong><strike><font><span><div>' );
	}
	$content = trim( $content );

	/**
	 * Filters the original content of the email.
	 *
	 * Give Post-By-Email extending plugins full access to the content, either
	 * the raw content, or the content of the last quoted-printable section.
	 *
	 * @since 2.8.0
	 *
	 * @param string $content The original email content.
	 */
	$content = apply_filters( 'wp_mail_original_content', $content );

	if ( false !== stripos( $content_transfer_encoding, 'quoted-printable' ) ) {
		$content = quoted_printable_decode( $content );
	}

	if ( function_exists( 'iconv' ) && ! empty( $charset ) ) {
		$content = iconv( $charset, get_option( 'blog_charset' ), $content );
	}

	// Captures any text in the body after $phone_delim as the body.
	$content = explode( $phone_delim, $content );
	$content = empty( $content[1] ) ? $content[0] : $content[1];

	$content = trim( $content );

	/**
	 * Filters the content of the post submitted by email before saving.
	 *
	 * @since 1.2.0
	 *
	 * @param string $content The email content.
	 */
	$post_content = apply_filters( 'phone_content', $content );

	$post_title = xmlrpc_getposttitle( $content );

	if ( '' === trim( $post_title ) ) {
		$post_title = $subject;
	}

	$post_category = array( get_option( 'default_email_category' ) );

	$post_data = compact( 'post_content', 'post_title', 'post_date', 'post_date_gmt', 'post_author', 'post_category', 'post_status' );
	$post_data = wp_slash( $post_data );

	$post_ID = wp_insert_post( $post_data );
	if ( is_wp_error( $post_ID ) ) {
		echo "\n" . $post_ID->get_error_message();
	}

	// The post wasn't inserted or updated, for whatever reason. Better move forward to the next email.
	if ( empty( $post_ID ) ) {
		continue;
	}

	/**
	 * Fires after a post submitted by email is published.
	 *
	 * @since 1.2.0
	 *
	 * @param int $post_ID The post ID.
	 */
	do_action( 'publish_phone', $post_ID );

	echo "\n<p><strong>" . __( 'Author:' ) . '</strong> ' . esc_html( $post_author ) . '</p>';
	echo "\n<p><strong>" . __( 'Posted title:' ) . '</strong> ' . esc_html( $post_title ) . '</p>';

	if ( ! $pop3->delete( $i ) ) {
		echo '<p>' . sprintf(
			/* translators: %s: POP3 error. */
			__( 'Oops: %s' ),
			esc_html( $pop3->ERROR )
		) . '</p>';
		$pop3->reset();
		exit;
	} else {
		echo '<p>' . sprintf(
			/* translators: %s: The message ID. */
			__( 'Mission complete. Message %s deleted.' ),
			'<strong>' . $i . '</strong>'
		) . '</p>';
	}
}

$pop3->quit();



πŸ“

About SAI Connections

SAI Connections is an autism awareness and Ρ€Π°Π±ΠΎΡ‚Π° Π² москвС training centre constantly working towards empowering individuals with autism spectrum disorder to live more purposeful and fulfilling lives. We also empower parents and siblings of affected jobitel com individuals to enjoy more wholesome family lives.

 

For over a decade, we have helped parents understand what autism is, and provided high quality international education to children and individuals on the autism spectrum. The encouraging results and optimism in all individuals and guardians after completing the training is the force that continues to drive us.

 

SAI Connections educates individuals with autism spectrum disorder to develop their strengths, adjust to their surroundings, and live more fulfilling lives. We also conduct training programs for parents and families of affected children to understand the child better and help him/her progress accordingly. We uniquely treat autism spectrum disorder (and all its forms like Asperger’s Syndrome, PDD-NOS and more) by remediating the core deficits and co-occurring conditions accompanying autism.

 

We also provide training and certification to professionals who want to help individuals and families affected by conditions where the guided participation between a parent and child is affected, like autism (including Asperger’s), ADHD, Tourette’s Syndrome and other developmental difficulties.

 

We at SAI Connections, follow techniques which are effective in not only helping a child develop to live independently and adjust better to his/her surroundings, but also in empowering his/her parents to become effective guides and experiencing a wholesome family life. The techniques we use are:

 

  1. Relationship Development Intervention (RDI)

    Designed by Drs. Rachelle Sheely and Steven Gutstein in USA, RDI is a family-based training program. It addresses the core deficits of autism and ADHD, and involves parents, who play the most important role in a child’s development. Through RDI, we imbibe traits of motivation, emotional sharing, co-regulation, social referencing and more in children with autism, ADHD and other learning disabilities. This program also empowers parents to enjoy seamless interaction with their child instead of helplessly watching by the sidelines.

  2. Applied Behavior Analysis (ABA)

    ABA is the application of the principles of learning and motivation from Behavior Analysis (the scientific study of behavior), and the procedures and technology derived from those principles, to the solution of problems of social significance. ABA techniques are used to teach skills including skills of Daily Living.Behavior plans are written out and implemented by Kamini Lakhani using this technique

VISION AND MISSION

Vision1

AΒ world where individuals on the autism spectrum live respectfully within society and can achieve a quality of life which is every human being’s birthright.

mission1

Our mission is to provide proven and high quality education to individuals on autism spectrum disorder and provide them with meaningful employment, and empower them to live independently.

THE FOUNDER

Kamini Lakhani RDI Consultant and Autism Expert

Support for Autistic Individuals (SAI Connections) was founded by Mrs. Kamini Lakhani in 2004 in Mumbai, India.

 

Kamini has been providing services in the field of autism, including Asperger’s Syndrome and Pervasive Developmental Disorder (PDD) for more than 20 years. She is the authorized Director of Professional Training, Relationship Development Intervention (RDI) in India and the Middle East, and a Behavioral Analyst. She is a member of the Resource Committee for the Forum for Autism (FFA) and a core committee member of China Gate – a support group for children with learning disabilities and their families.

 

Being the mother of a child (now young adult) on the spectrum, she understands the challenges encountered by parents of similarly abled children. Her aim is to empower families and create meaningful changes for those affected by ASD and other neuro developmental difficulties.

 

Kamini is an advocate for autism awareness and empowerment. Her efforts are consistently aimed at empowering autistic individuals to understand their potential and creating opportunities for jobs for autistic adults. You can contact her here.

INTERNATIONAL CONSULTANTS

Dr. Rachelle K. Sheely

The President of RDI Connect. Dr. Rachelle Sheely has been a leader in developmental and and logistical implementation of programs for families and professionals working with children and individuals with developmental difficulties.

Dr. Steven E. Gutstein

Dr. Steven Gutstein is the developer of RDI Connect and an internationally acclaimed pioneer in the field of developmental difficulties. He has over twenty years of high-quality experience.

OUR TEAM

Dr. Scherezade Ness Tata-Irani

M.B.B.S, OBGYN and is currently training as an RDI Consultant, under the supervision of Mrs. Kamini Lakhani. She is practicing her RDI Consultations through SAI Connections

Nitin Nikam

Nitin came into this field by accident 4 years ago, and he has been with SAI Connections ever since. He loves working with the children and feels relaxed and comfortable in their presence.

Nutan Haldankar

Nutan has recently joined as an administrator at SAI Connections. She gets to learn from students every day, and believes that they have blessed her with positivity in life.

Samidha Bhagat

Samidha is the training coordinator at SAI Connections since more than 2 years. She started her career in the hotel industry and an NGO. She loves the positive vibes circulating at SAI Connections.

Dipali Chauhan

Dipali is currently training as an RDI Consultant, under the supervision of Mrs. Kamini Lakhani. She has M. A. degree. in Counselling Psychology, E.C.C.E. and has been a part of SAI Connections from last 5 years.

Jasvinder Kaur Bhatia

Jasvinder is the RDI Certified Consultant (Relationship Development Intervention) and has been working as an educator with SAI for the last 10 years. She is a mother of a teenager on the spectrum and believes in empowering parents to deal with Autism.