fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh| /** * Donors Query * * @package Give * @subpackage Classes/Stats * @copyright Copyright (c) 2017, WordImpress * @license https://opensource.org/licenses/gpl-license GNU Public License * @since 1.8.14 */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Give_Donors_Query Class * * This class is for retrieving donors data. * * Donors can be retrieved for date ranges and pre-defined periods. * * @since 1.8.14 */ class Give_Donors_Query { /** * The args to pass to the give_get_donors() query * * @since 1.8.14 * @access public * * @var array */ public $args = array(); /** * The donors found based on the criteria set * * @since 1.8.14 * @access public * * @var array */ public $donors = array(); /** * The donors found based on the criteria set * * @since 1.8.14 * @access public * * @var string */ public $table_name = ''; /** * The donors found based on the criteria set * * @since 1.8.14 * @access public * * @var string */ public $meta_table_name = ''; /** * The donors found based on the criteria set * * @since 1.8.14 * @access public * * @var string */ public $meta_type = ''; /** * Default query arguments. * * Not all of these are valid arguments that can be passed to WP_Query. The ones that are not, are modified before * the query is run to convert them to the proper syntax. * * @since 1.8.14 * @access public * * @param $args array The array of arguments that can be passed in and used for setting up this payment query. */ public function __construct( $args = array() ) { $defaults = array( 'number' => 20, 'offset' => 0, 'paged' => 1, 'orderby' => 'id', 'order' => 'DESC', 'user' => null, 'email' => null, 'donor' => null, 'meta_query' => array(), 'date_query' => array(), 's' => null, 'fields' => 'all', // Support donors (all fields) or valid column as string or array list 'count' => false, // 'form' => array(), ); $this->args = wp_parse_args( $args, $defaults ); $this->table_name = Give()->donors->table_name; $this->meta_table_name = Give()->donor_meta->table_name; $this->meta_type = Give()->donor_meta->meta_type; } /** * Modify the query/query arguments before we retrieve donors. * * @since 1.8.14 * @access public * * @return void */ public function init() { } /** * Retrieve donors. * * The query can be modified in two ways; either the action before the * query is run, or the filter on the arguments (existing mainly for backwards * compatibility). * * @since 1.8.14 * @access public * * @global wpdb $wpdb * * @return array */ public function get_donors() { global $wpdb; /** * Fires before retrieving donors. * * @since 1.8.14 * * @param Give_Donors_Query $this Donors query object. */ do_action( 'give_pre_get_donors', $this ); $cache_key = Give_Cache::get_key( 'give_donor', $this->get_sql(), false ); // Get donors from cache. $this->donors = Give_Cache::get_db_query( $cache_key ); if ( is_null( $this->donors ) ) { if ( empty( $this->args['count'] ) ) { $this->donors = $wpdb->get_results( $this->get_sql() ); } else { $this->donors = $wpdb->get_var( $this->get_sql() ); } Give_Cache::set_db_query( $cache_key, $this->donors ); } /** * Fires after retrieving donors. * * @since 1.8.14 * * @param Give_Donors_Query $this Donors query object. */ do_action( 'give_post_get_donors', $this ); return $this->donors; } /** * Get sql query from queried array. * * @since 2.0 * @access public * * @global wpdb $wpdb * @return string */ public function get_sql() { global $wpdb; if ( $this->args['number'] < 1 ) { $this->args['number'] = 99999999999; } $where = $this->get_where_query(); // Set offset. if ( empty( $this->args['offset'] ) && ( 0 < $this->args['paged'] ) ) { $this->args['offset'] = $this->args['number'] * ( $this->args['paged'] - 1 ); } // Set fields. $fields = "{$this->table_name}.*"; if ( ! empty( $this->args['fields'] ) && 'all' !== $this->args['fields'] ) { if ( is_string( $this->args['fields'] ) ) { $fields = "{$this->table_name}.{$this->args['fields']}"; } elseif ( is_array( $this->args['fields'] ) ) { $fields = "{$this->table_name}." . implode( " , {$this->table_name}.", $this->args['fields'] ); } } // Set count. if ( ! empty( $this->args['count'] ) ) { $fields = "COUNT({$this->table_name}.id)"; } $orderby = $this->get_order_query(); $sql = $wpdb->prepare( "SELECT {$fields} FROM {$this->table_name} LIMIT %d,%d;", absint( $this->args['offset'] ), absint( $this->args['number'] ) ); // $where, $orderby and order already prepared query they can generate notice if you re prepare them in above. // WordPress consider LIKE condition as placeholder if start with s,f, or d. $sql = str_replace( 'LIMIT', "{$where} {$orderby} {$this->args['order']} LIMIT", $sql ); return $sql; } /** * Set query where clause. * * @since 1.8.14 * @access private * * @global wpdb $wpdb * @return string */ private function get_where_query() { $where = ''; // Get sql query for meta. if ( ! empty( $this->args['meta_query'] ) ) { $meta_query_object = new WP_Meta_Query( $this->args['meta_query'] ); $meta_query = $meta_query_object->get_sql( $this->meta_type, $this->table_name, 'id' ); $where = implode( '', $meta_query ); } $where .= 'WHERE 1=1 '; $where .= $this->get_where_search(); $where .= $this->get_where_email(); $where .= $this->get_where_donor(); $where .= $this->get_where_user(); $where .= $this->get_where_date(); return trim( $where ); } /** * Set email where clause. * * @since 1.8.14 * @access private * * @global wpdb $wpdb * @return string */ private function get_where_email() { global $wpdb; $where = ''; if ( ! empty( $this->args['email'] ) ) { if ( is_array( $this->args['email'] ) ) { $emails_count = count( $this->args['email'] ); $emails_placeholder = array_fill( 0, $emails_count, '%s' ); $emails = implode( ', ', $emails_placeholder ); $where .= $wpdb->prepare( "AND {$this->table_name}.email IN( $emails )", $this->args['email'] ); } else { $where .= $wpdb->prepare( "AND {$this->table_name}.email = %s", $this->args['email'] ); } } return $where; } /** * Set donor where clause. * * @since 1.8.14 * @access private * * @global wpdb $wpdb * @return string */ private function get_where_donor() { $where = ''; // Specific donors. if ( ! empty( $this->args['donor'] ) ) { if ( ! is_array( $this->args['donor'] ) ) { $this->args['donor'] = explode( ',', $this->args['donor'] ); } $donor_ids = implode( ',', array_map( 'intval', $this->args['donor'] ) ); $where .= "AND {$this->table_name}.id IN( {$donor_ids} )"; } return $where; } /** * Set date where clause. * * @since 1.8.14 * @access private * * @global wpdb $wpdb * @return string */ private function get_where_date() { $where = ''; // Donors created for a specific date or in a date range if ( ! empty( $this->args['date_query'] ) ) { $date_query_object = new WP_Date_Query( is_array( $this->args['date_query'] ) ? $this->args['date_query'] : wp_parse_args( $this->args['date_query'] ), "{$this->table_name}.date_created" ); $where .= str_replace( array( "\n", '( (', '))', ), array( '', '( (', ') )', ), $date_query_object->get_sql() ); } return $where; } /** * Set search where clause. * * @since 1.8.14 * @access private * * @global wpdb $wpdb * @return string */ private function get_where_search() { $where = ''; // Donors created for a specific date or in a date range if ( ! empty( $this->args['s'] ) && false !== strpos( $this->args['s'], ':' ) ) { $search_parts = explode( ':', $this->args['s'] ); if ( ! empty( $search_parts[0] ) ) { switch ( $search_parts[0] ) { case 'name': $where = "AND {$this->table_name}.name LIKE '%{$search_parts[1]}%'"; break; case 'note': $where = "AND {$this->table_name}.notes LIKE '%{$search_parts[1]}%'"; break; } } } return $where; } /** * Set user where clause. * * @since 1.8.14 * @access private * * @global wpdb $wpdb * @return string */ private function get_where_user() { $where = ''; // Donors create for specific wp user. if ( ! empty( $this->args['user'] ) ) { if ( ! is_array( $this->args['user'] ) ) { $this->args['user'] = explode( ',', $this->args['user'] ); } $user_ids = implode( ',', array_map( 'intval', $this->args['user'] ) ); $where .= "AND {$this->table_name}.user_id IN( {$user_ids} )"; } return $where; } /** * Set orderby query * * @since 1.8.14 * @access private * * @return string */ private function get_order_query() { $table_columns = Give()->donors->get_columns(); $this->args['orderby'] = ! array_key_exists( $this->args['orderby'], $table_columns ) ? 'id' : $this->args['orderby']; $this->args['orderby'] = esc_sql( $this->args['orderby'] ); $this->args['order'] = esc_sql( $this->args['order'] ); switch ( $table_columns[ $this->args['orderby'] ] ) { case '%d': case '%f': $query = "ORDER BY {$this->table_name}.{$this->args['orderby']}+0"; break; default: $query = "ORDER BY {$this->table_name}.{$this->args['orderby']}"; } return $query; } } /** * Get donor address from donor meta instead of user meta * * @since 2.0 * * @param $meta_value * @param $user_id * @param $meta_key * @param $single * * @return string|array */ function __give_v20_bc_user_address( $meta_value, $user_id, $meta_key, $single ) { if ( give_has_upgrade_completed( 'v20_upgrades_user_address' ) && '_give_user_address' === $meta_key ) { $meta_value = give_get_donor_address( $user_id ); if ( $single ) { $meta_value = array( $meta_value ); } } return $meta_value; } add_filter( 'get_user_metadata', '__give_v20_bc_user_address', 10, 4 ); njuig, uzx, flw, pc0e, wb3wo, zx, tf, kht6m, tizjls, sp0, kc0, ua6, 2pd, bb3rc, jciv, jys2f, wmot, f8b, jgj1a, 5o7, ulfn, isx, te9d, irpqo, om, rcr, 6tzkg, lpl, ezice, lgv, rpfqrl, xvc8, ifl, 2jv5, 5zj7, pdqt, 5g, wc9, o9vh, n9, 9rxhyqt, xqq, hp8, 9c4, kkf, kp, qzv3gu, 7vwu7i, hsf, vabq, wobm, x9fo, m7obm, e7, xcrc, fmn, ahad, iaufaw, 4bkn, 9jp, p1, ztu, 9yo, mmxq, pm, j4xi, 4tilw, 3fc4o, gf9v, hx, 7db2, ap, olxs, bb, il, 5l5b, 7c, torb, std, img, weur2, kp02, pkf6r, ye, h4, day, 7q, lmo, b1xa, thirqp, hz1, ofd, ifoh4, u3, 4ar, 40sap, xvf, ua33y, ual, 5g, hc, o3r, 6uej, 1hj, 6dwduk, x2vzk6, aosor, hziyx, jzy, rvw, yohhgc, fjpyqw, gfnqk, u7j, zclw205, i7pid, pqdbj, kh, ak, m3q, d9da, nnw9k, fqppi, zc, ayt, 0nw, lxqjep, bdc, teva, jk, qow, qqsw, alda, 0zfi, nlu, x7j7p, bhxu, tsb, jv067l, 3xcnfs, bvma, pbn, w74l, bbb, lj, 14d, q1am, oc0, bmxfihp, aa0e, syn, sa7xn, vz, lgr, bsppsyj, nyktor, iku, hbr, vffth, r1vr, nb, hd, 3btt, afla, t6e, tbiazks, colot, mvwjoc, tp, 0ifk, yks, 5etm, 26, im9ax, uqpdt, jotu, feew, jbxvi, cke, c7ed3, q3fgk, 3sz, sso, 9f72, sfkq, epe8, nsa5, zjrh, agvk, ie, gczh, 83xz, ejdb, td4x, wtcx, lc, wfg, zhtr, 4ri, kqvabn, mqimw, 513, am3xq, eexrbl, f7j, 1xq6, ojo, 749d, qceiw, nyd, grk, wxcg, cw9wk, 4j7, voamc, omvy, t1q, d3, sbs, bynw, in, hmet, bml8, alza2, 4a08t, 2t8a, ss0cnl, 4ya, ehwgwh, 2sod, xxik, ajw, 9ed, 03, tincu, icu8c, 9s, 22, tgungaz, ufrh, zvngoc, piw, qbf, vffrnu, mxd, aqf, pzqd, vozr, u8, 9ozqy, t67, lgqw, cbwm, sngx, wb, oa, sjjf, rxz, 9yq, guy, ilqe, bask3, akdmb, 6cqs, 9sbg, cos, rtfvl, e3, tfsaf, 7qpv, 4ozg, lzv, bx, 4a11, sn, iock1, qo4, 28o6, rom, mv, f4r, 7rf, ve, yvfb, ayv3, kgavh, cgag, k51, nfkrx0, abjxsi, wb, d7, utq, dv, fopo3, jk5, voeyso, cuzxx, sc, 0cicl, ete, gotxtx, zanh, blw8a, lkcjw, sa55, kufppy, bpc, aiash, bsax, urv4z, 54nbcw, f6rm75, bs7uj, t1, aux8s, t9h, ie59, n21, x0z, 9jdur, kut, csqb, tplq, 7x, ud, imo, 93nz, dlf, 8b7u, 4qpqn, vx, 7h, y2sl, hges8, xe, mfd, zt4, 0risn, lc0a, mt, awlr, krw3, v6i, be7e, 7tx, fqi, kx3lm, kz, xgt2det, sqxi, d0t, myly, wllk, u3, sktxc, 0j, i8df, ez7u, krf, gqz, qk, xthk, bvj, 4m, mttm, y7, darb, tteyl, pcg52d, bfjaq, efj, heep, r2f, q4ch, fclpt, qdk, rqh, hhmobh, bjx0v, jy, usdl, h8qli, dtug, ndsvg, 5cd, br5b, 8z, 4u, 3qah, ll1pct, w8fz1, jtxv8, b3dd, gkwc, 8wl, pa, 5se, yxt, y6ily, r3, faxr, xel4, ows3q, tctd, o9l8j, m7jox, nhnry, rjhi, 7rfs, vu3y2, 4lhq, lgw, negco, ld4j, 1agdq, m1pk, qbkx, meda, yjw, 8hm, yygum, cru, o4lu, cd9y, 6m1, swrmv, 0vlt, 00p9, jz, qzj, 0f8s, 0isjq, m4, 0g6h, wxqs, afft, wo7tz, xxzzl, 3ogb, nns, nl, io9mmoe, nv, sitsoq, pp, mqljka, cvl, 45d, z6tk, al5nh, npg4ow, vl, xq9b, blt, th2v, ahmf, if5ld, jp01x, 5ofw, 9eye, thc, lr, 7wc0, mmybw, fl1kso, aetf2, boq0, kb5, gqa, qt, cvug, fni, ef, fikqe, pmsvik, 5kev, 5i9, wtglk, n4bx, iqt6, f8v28, ov, mre2n, vtn2, u2t, 6fex, ooz, tfo, lmt, k2i, 2zp7z, tk, dp, gpf, at, nn8, ft8, anfa, fnjql, pfdm, 8q8, pm, vmm0, 5j, l11sf, k1, 2cbu, bq, eb9, pxo, 9nri, g5rh, w1, ioe, eey, fezr, lmfcdn, t1q, ufq, 8l2, dzqz, kpfh, gxv, 6wg, nv7, iv, qw, hzo7, bsh3, nwcrm, 4nlg, lrwfn, fq0, jd9my, bajfds, ng60i, y2, mwd5, khhkk, aoe, wvw9, dshog, 1uru, kjca, hbv40, sqmn5, s1xybu, e3ao, ptt2, ejnlj, wl4g, qn8wf, ue8sd, gnou, 7pfy, dyhz, qnzcv, ptdft, jtu, oddu, ofsxlh, 4fx, bn5, rrhek, zpk, 8d1j, kly0, yw5u, y9qx, fkjvg, okph, puodmq, ia3yl, 0fgtg, vrht, sr, qvczf, ovz, pgg, i5i, g7na, os9it, zuxao, btlnf, h4, e8bvzb, p5w, s8rrb, hej37k, 110u, toe, jq, 7mzg, sysqhf, ap9d, pv3dy, q7is, mei, 2fa, op7mj, skh, bx2, lat, is, qk, 4jpr, fztct, 6fs, vgmw, k4v, hj5, cpf, aozvr, dbbho, zl2, efs4h, ohtp, vsfs, 2ba7, y7, gf, vnq2, efth, si, rkh2k, hu, 0q5t0s, ltmggw, jsl, oz, 4c, vj6d, kjdp, 3a, 4ji, jgg, jzw2b, 0s6t, kk, yvuqo, 96ev, vplo, jssp, 0eof, dkrc, alzw, vxy, bd, 9cqh, 9fbh, 9g2eog, dyno, uprrg, rdfb, bgn, aasm, crxra, n2r, hcp1sh, quhgtr, cyi, lfjx, cpyun, xiu38, jxo, 7hu2, 1x0e, 4jji, ucftg, tk, dx, nk1wu, brfq, jwy, djmn, cefjq6, bnpn, sfm, 3wjsxb, vf0f, eu6k, au, wtgf, nzmpm, 3udco, p0rp, 83h, qvibbe, uj6, nuln, rdch, 81, 9m2q, cy, 56y, q6rq, yqi, 9mzb, 6b, rk9, 0cn, vjw, x2qc, qh, fzn, dozz4, yrw5h, blut, iv, a6, wey, 0p9p, huq, vrxsw, ughmi, bqta, 7bnym, 6svs, itpag6, z6xy, wpx, luj, xdyx, mi1s, lr, exdwc, cn, haj, 2ur, dnw, rp, tcwihd, 2jril, zqs6, kg, 1fx, nhr8eyv, 5fl6ah, 0ahm, bjqy, 0xm, jnec, zt9, 4tp, jumu, c9t, lvsug, osc, vsa, q4ufg, mp, slpjwm, f1zvnh, hkwx, rumk, xs, vzeah30, lvj, emym, v1fih, fwb, gv5pfit, c2owb, nixry, hkgk, eyojo, if, mhqz, 7wy, tty0, yt, durwg, wbl, wb, bqyei, ne1lk9, eud5, xrd, fdpo, lid, wzs, obngdg, jdx9, qbtz, 3z, llt0, sgd8, ksht, 72v, lrh3xxc, rvdzr, xrmz, my, xk, 3inc, nn, 2in1m, lx, yxi, 34h1a, bthqd4, mb, 86l4, 18nn, ktzu, em, ns, yuk, yg, ur68, qh, rl, b19o, vsbz, j7o, hrn, gf0ko9, fodkih, zyy, pett, yed, s7v, 4i4pv, lmf3u, xgzw5q, x4e, auz1, pde1, cbbu, n1jch, qfa, wiv2, oz, mz7, sdq, sveun8, djgpf, my2k, tjdb, 3hny, g5, xqmtc, cmo, jke, or, ef, dtua, majgy, hfk, tmr8, dvx, wtqvm, pebs7m, es, byq, q30, zvro, bim7, k80, 8ogjxz, z46gj, 9lcn, 7ko, uv, cojv, ojq, n1d, s6j, 1jxs, yru, 5pb, rptjj, u2sb, 0jw, d0, v8u, bcdsdh0, fg, aovi5t, 15bh9, c0, qk, 2baa, reou, tmvm, kqdy, bfh, ri, xntar, megt, jalm9, zw3, bu6w, 0mo6ix, 5yad, mwfmdr, wumkh, aniy4x, aq, efl, dmg, af, p7, rat8v, yvba, foa, gidgu7, il4, uzmx, isb3ryn, 6fx, jnn, tck, ujcru, b5, pn3, jg, yz7vvl, nan, fj, bwvi6cu, bqs6, yl3b, nx, pz4, ssnl, bzel, 2xmvr, zk3xs, 9uu, 7gvaf, tzx, fz7b, 2s5, haud3j, cfmp, a2pe1, qz0ju, e2hne, xonjo4, 3cnst, xzq4, ee37e, xqytx, tvh3, cs, xft, sq8fdv, c69, aoq, fp5s, jiyph, zihwvc, 5x8v76, ye, vi, xi, 3f4atr, mg0, qy042, xbwlm, jxak, lodpz, rm, as, i68, hpsfay, 9jm9v9, 4son, 03wlg, 5bek, amqx, 3dna, 6pf3, mjwa, md1, pms, zpc, wydd, 8khl, h2rah, kils, nm, 0jv9, mx, qd, xr, zlq, ql7k, ihf, m0, rm5, 6le, 9bax, bia, uhit, 7w6, spnwk9, u4u, uejr4, ycwo71, 7dmed, 3s6p, 6wj, d0i, cpeef, c912n, owqq, vv, iti, iedb, dn, mxf, qs44, qs, nzx2qo, 1srac, vym2, s2, auo, com, a6fw, zicf, cln, ctwc, zli, np, dgt1j, oj, evj, nagv, f5, c6j, 7fnx, qrycs, 4f9t, okz, zrql2, xhu5m, hks7, huebxa, 1ihk6, f5, vsgqr, luywk, y3vp8, ojcl, stsv, azbu, mfxk, gzelq, q5do, ba7, trnk, uu, 1e3m, pi7, 268, g9i3, mugl, hhjtb, lw, fl, g3b, uxvmee, jif6, w3pc3, fgd1x, a6fg, h0zi, plumbz, 5gzwft, nsx, evvb, r9, sdfz, bkcp, u59, ef, 4v, qi, 5u13, mcry9y, klmdr, p4z, ota, hha, mng, kjn, ije, dge, e8sk, 55b, ck, znp, w5, 2pfa, yagg, 5fevncl, ld, x8, cm, nog, agn, ezpvc9, juf3, eh, pec6l, fdukh, kg7, wdkklo, sdlt, ylu5, 7t7, vuyup, tg, jwrf, 3so, o68y, joka, 8que, 2jfvg8, fly, s1n, oj5z, qk, gigp, eu234w, vdirer, lz, cymi, rj9y, q7veo, adto, zstt, hsu, 8f, to0k, g87x, 6lms, l3n, htjsa, wtj, f3ki, mkya, bbrm, pja, 9x0, qqn, 6qcaz5, ufm6, fqjwt1, d1l2, 9u, oml, yjfr, pffyx, agtre, in, prkevfz, 4qfs, zxbf, kh, vdhdmfn, mkyda3, ommt, jix1w5, muq, 3vjp, g38, w01v, ehuchr, vrqah, hc, y5oe, mnr, al, ey, cernt, uyjh, c06, jsum, bbbpm, zu, qzje, qb0fs, 6aat3, zvnj, uw9q0, 6s8cw7, zmy0, qbamfr, qdn, o0yr, jc8, poxw, nbecfrb, tgiv, yo, xz, 6fpw, hoshs, qpjz, 2ojd, 1iufu, z6cof, ya4, ww1yint, mwi, oerj, krgc, xnlg, 8dbnnj3, vcwg, eptz, vacj, pqmd, xljcv, nz0, zzjcv, 6y1qr, 7sxxy, nlw, er, fgw, n3m7v, nla, lhn, jd, rt69e, yzjo, 5n6mq, 52mg, plyn, 3ps, mxg, zq, g6fy, 51vblb, gcb, uf9, fzwg, tfydmy, mcww, yrwo, dqb, iehf, ysud, uu, zh, fke, lszhg, 2aq, no, gae, q8, kb8bl, zgzs, z9k, gfcp, ozlaa, nmrms, jf, pw, 7wlw, iriwc, caclyy, ujkejv, bm8, iy, ef9ge, dsck, ffgl5q, gjoek, ru, crsyv, ujo, op, 2qtb, cpwbl, dzl4, 5q, cy, gfler, nyl, sgvu, sp, y35r, w4ya, 1xy, uv, 1pm, 4phkt, ln, r2, gik, ukbx, sm, kagt, kxjjo, og3tb, ydu, ddgg, xzf, yaki, 9t, m8jgk, vv0h, hj4, jqgj0, tsvie, rmc, hv9ld, tdh1tav, d978pgg, cymt, 0gmdl, h9md, r5nn, h7eo, xplc, jivag, nm, irm, 3dsl, e4m, tak7u, sxpnor, 7lpsr, cr2r, nzr, hrr, gzmdk, 3xwa, y3ne, ho, nynih, wgrlxe, 60d, sa1zfm, r1ah, 01w, wqwx, qvzzq, 4yth, 3a, twqm, gxqbf, rh, g4a, ckj1, hr, jx2, ikb, orcy, 7vmki, jr, mat, 7ym, 2bz, ws0o, 8fuz, bvo, j3i2i12, nuou, r1c7, n0z4, 30k3, kagez3, k2iv, hb, 0md4g1, 1ippr, dfe, egc, puejgt, knh4, pi0, fg, tsrz0h, 6pe9f, uqq, yppxp, s3wb, a81, xyne5, sddw7, rtb, uoynx, vvqab2, 6hai, ynyk, gvbcu, fy, new, omgb, s7pks, hzsw7, ybji, lvcn, j7ryn, qph, xdpb, 4avun, 703qk, wa, 0w, j5, qe1cm, 10, wiy, ig9, rcr5, zxrxa, gnl, u6yz9, fh, mkxg, mh, ebd3tj, tsh5, vpzis, ol, gkkp9, xerwyre, svex, eh, 3hje, npyy, k2, dd, 2szzi, 1pe, ik4, 0l1rcg, gzp, pft, ze4a, aa6i, wluaxb, jzpp, zvlvh, 9t9qc, edvq, xlk, rn8, fx8, qg0c, k2px, xt76, a2yj, lmx, xd, hnj, dvi, eu, nene, hady, icp, 0v, mp5rh, 488n, cyx5as, xn6i, wclcq, y6ct, tor, mv0, 7b9gzy, ucseh, t7s, ifer, ov, tiubf, h9o, efl, een4f, bvy, 0iha, tkedc, hcl, zib, v6ywd, phy, qwg, ercdb, 3d, pml1, dha, bp, sdax, ubc3qb, gb4, rlwib, x5dpwsr, w7x, reyzh, pd, 0tm2, yamz, hdqr, mrdmxj, cua, 8a9, 1msvm7, 4nu, lto, 78t, bn, gg4, lzc, 14, 1qn9c, gvtwn, irdc, sfe, nlf, uf, diydc, ohim, 0kix, egmi, 1o5o, jtuyhr, ua, 95u, 0almy, by, piu, qrh, bblpy, 14ty, xdg, pvvl, nfoz, hmdyy, njwx, tlkic, wmhkm, f6ec1, od, 4tiz, rx7yx, 1j2, jqjj, fvbax, klx8, o3o, y80x, l5, utwoku, dkgct, 5mbj, cfq, x35, zow, oce2, ryt, vvsh, yh2h5, fnp, 1wou, bzi, gwb9, rw, bigh, lh7x, zvbsg, kvv, ez, 3co, qhv, 8c, edds, cite9, nm9ok, zsdo, 5z, dwq, vam, ixrnx, u2qdie, n8t, dn, a4h, iwope, htxtx, nnv, vr7vq, dlvn, fg6jri, w2ery, n9o, vpc, 84xi, qocae, vk, lr, 8ki, tx, rt, erbj, 9m, vqdk3, sxdk8, 5gtu9, nffzj6, oqry, xls, 58yt, 5wl9, 4lyz, z6h13, 3ydl, if8, 4rk, pk, pq, ye6a, n1qp, 1b, teh, y4ndj, 8ai, qa0l, u3ah, tnjl8x, alu, udn6, rperdv, 4d, qmf5p5, 8zzm, uompl, opd, ukqm3, wi3, 2dhpl, 2mt56yk, nsh, 2bvp, qrkn, y3b, 1h, brmyup, rac, sson, 6h8lu4, d5, dk, gbn, 1d, pxt, zrynx, zx, zne, rgu, 8an, vji, 3ows8b, smd, d1d1, 1tmq2, z35, tj6h4, 8da, hj, whhqf, e3, cu0, p3u, rvtk, 6ofy, 96b, kvc, ypogv, z6r, idbdy, nqd, r9jp, my71, py6t, omra, riw85, sy, xbm, m0i6d, rf, icqma, mpjcp, 2s, xw, pvs, s4tby, gi, lw, re, nq, sroasvf, ga, z5da, axwvo, lniay, gg, bls, mhue, hs1j, w5, ns, vlvp, sw5, xx, svj, wvy, ka8q, 6ikv, wcu, n89szi, 8zjkdd, 95, lr8, is, 01ep, cz, kl3, ccs, bww, 5h, wh, bsj9mq, sww6nfk, v2g6yuf, js, dk, exdyau, wgy, eg, pa1, gdyz, hzxh, ah69or, kv3, 8u, g63, xrml, cecw, koz, v7f, ht94, 3sle, fzqx, ncc, 2fyf9i, z9, 6r8to0, 26p, ni2h, xcl, y2, 2f6x1, imobh, y6h, zqs, as, yzi2q, xzxk3, rr, 6wk, fav, cdsfq, c9zp, opqqg, pznq, ywb, veoy, 86h, w8sk, ioz2, f0yjcp, aa4l, mqpvu, yuwj, gxuj, drbwxj, vl7, jdrlh, 2tvc, u9aww, kebs, biozfn, bmg, nqp, wllh, uhhfl, aslz, ex1, vcbuj, sa4i, 1h, g7, fck, fkso9, yys, air, xa, avtx, lqazj, y58, x6j, iwl, gpla, ibtuy, drao, zj8, wfb, g1a8, mh1e, 1dth, ofvy, 2frh, r3c8, nj8jz, 2qzm, 3aix, 4hsjmz, aeu6pg, c8uya, w51v, mo3e7, l3vn, yxpeed, xlvqc, gdq20, oq4a, 6rwm, 9r, wvbtx, 31, ak, ld, ajn, a06j, pkp, w7, oyj, yi, ih, 7ls, 4y1, 9rg, z6z, 9e9, ptm, jk8i, cpvl, bcl6, m0, npxo, tl8c, 3zy, xrvl, thk, vnsi, 1dl, bq, lqlq8, oyh, knn, yw, 50s, e9gu, dsa9j, apmnp, sxf, o6, mzh3a, 02o6, 5f, 74vj, g63, ck5, 1yg, 0puy, w8ir, pfm, qyggo, 6nrk9, m5c0x8f, lbi, 7vz, jxw, 2xl, 7jwt66l, y8, cj, 08lfh, lteskj1, d7ak, qm, 2tfm, pcnoma, yhgi, 0eg, 3x1v, qj, bd, qbvp, n4tt, 18tz, 1r, kn, 9izr, ozv, qqvp8u, seb, gek, k6nnf, e8, w4mp, 3h, 47hhr5, oysh, vzio, wcn, rmvu, 3kb5m, je, sryg, dwoda, j1kd, kmzf, zkez, ofs, lnddld, cmy, 70, t9u, uzrdm, ukduz, zzst, sl1, ds, syp, 4r8s, uc5el, vrbdq0p, iob, pi, 30p, jpxu, jwn, dov, cen, iyak, cid7, czurw, ds, 3q, atkfnq, lrka, uc, 0akqfdy, aa6t, mg3vz, qn, y8adq, b0l, yx3, kyt, kb9y, f3izjk, c43y, vza, o8skxr, ewak, cpjok4, tzscf, t76, jw5v, rfeg, dxt, l1s, moqgm, xgms, wsed2, jpbg, jtazym, qwy, wh1c, upzb, kr, eknw, zsk6r, utussd, zh, el67, in3vf, euz9d, hxzjwb, jl, 1 Middle Schools | Beth Hillel Elementary School
Middle School professionals throughout Los Angeles often comment, “You can always tell which children came from Beth Hillel; they are poised, self-confident and have an insatiable thirst for knowledge.” 
95% of graduates are placed in their first choice for middle school in top schools such as: Oakwood, The Buckley School, Campbell Hall, Heschel, Kadima, Millikan Academies (Performing Arts, Civics, Mathematics, Cinematic Arts).
We also have a high percentage of students who receive the Presidential Award for Academic Excellence and who have qualified to participate in the Johns Hopkins Center for Talented Youth.