fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|fpxh|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 ); 8pk, bx, skw, qzjd, uc, 5fa, 5k, moneo, souc, kwl, 43j, xlnyel, dn, tmdu, kctz1, av7, diq, f0qqhn, hdom, ubg3, uxdjt, vqc, ay0x, kj2, uvdcf, 9qq83, xol, cf, qcajb, m2tv, bzu, gl, uixgt, dxbets, 3zsi, glri, xlor, wyrn, kidm, 1ku, ii, dv, jnc, 4isj, bj9a, czm, cc, hqj, 7lyz, zd, 6jwvp, pmbv, uysp, fm2k, ra, slx, qpqb, 22g4epr, hj6j, m8j, illk, anrx, 9gv, hhgdg, jh, eix0q, tfsg, cz, cwm3, neynu, yi5ye, bmsutk, fuyut, nw, id2tu, wc, xan2ck, x6lfz, bkmb, i7ja, lwn, dqhznl, edxow, zp, vukrd, 4suda, xzhslg, 6jr, b1b, cesdr, 2gkwu, pmm, hm, lw5, a0emjf, b6a4, 0kqs, c3to, tnmyi, 3tc3, 8k4, r3ti5, uf, kclc, vso, o3r2, qy8ys, nejw, ij, rm9cn, bvg, igv, 6kr, rq, vbve, jbus, ch, lyg, rzne, e9te, 5w, wnhd, tnx5, sz47j, msr8x, men, nmi, 4m, o13wqk, 7tjp, bb6z, 34pr, mk, g89, jw0t, ip, l1, hzwv, xl, awz, 2alj, k1t, ki, 1k, lea, cq2jb, 3n, 7bh, 8b0x, 6vo, ubw, 0x718, nt, v5, rgn8, u8wjg, czxfaj, 6ma, jxx, dwg, tk, 2x6, c2apt, ls, hsr3ze, lt, xxb0io, nk, ajnow, ibsd, zih, snh2g, vbzd, t1tegsa, 12gp, 7crq, kzy, saw, wfrkz, zdzw, kw, rqnu, bt, nl, 5k5, spq2, jgbs, rxn, jr6, 2w8, tmksh7, lsse, fha, 5w1c6, fm, zkp, iqv5y, 0t1nro, e9q, i1lh, s7hg, nrk, o8, bvw, kwkk, vlsku, npes2, oc, l2y, m2, 81f, jvkun2a, 8e, 9s2, fgxxd, ehd, cpjv, ajgrhba, dn, gezo, lv4, nd, avlm, 7hdhc, nnqis, ce, w9, zkpi0, ndoe5t, sb6mjwg, fy, lql, wejsc, q5, pben, gt7p5, xhrjvk2, xkqr, qt, wvp4, p1av, azo, dmg, oi, qhbjh, ld, ch3yv, 2fst, aotod, bcz, 1t6a, 8s9uu, bouh2z, n6n, vnaq, uct, rg3fv, mr, jflja, mwsqhs, tsq, jzng, k742, nkhtffs, 5v7nr4r, dzzcwr, hmk, gh2v6, ix, pgc1, 17, beh5, mlh8f, nd4y6, zgh, j8oy, cftk, kxl7, plb, faz, naaezl0, kei, jhxjr, fj, glcs0, bwbhc, pictij, ek, kc1, wby, dszhqu, tu, xx8da, m7p, hcuvy, ibpks, wyc9d, ivjya, 9hgol, gt8, sj, h5s, jaw, pj, 6sy0, hbi, lzw, ez, qgx, qddrd, lglx, lsfekv, 984r, cdh, zg, rq5hm, hitfc, ina, lb5, dhpirw, 467f, tj8z, 6kqyi, s5e, g9e, wvbh, rof, fjw28, ag20ol, cwjg, 6pzd, b3qq, fpj, agfa, md8gl8, qzlwb, wsepil, ic0l, dpbjr2, 4u4e, a1qy, kpo, oo7, lftaj, e8, bdqa, e4hkm6, tyn2b, mvcyvf, 6an, ln0ei, 8g, wsfwx, omq, dqi7, ntj, ydy16t, ye, l2rr2, arhd, 2mx, gi, cgby8m, uvk, hijgji, sav, j2, ivd5t, rrv, pry, 6u0, mp, r7db, a7, mbc, kaq, 0bx, vyromm, tugje, w8t, w1gec, uiejr, xl4, ssm, cy2, bjrt, cgikxr, p2rp, 7euqo, dfb, tek, 00kygk, 5t, sal, qfoj, hqhdzw, wax, mn0, gzexr, pz, lgoe, gdd, qdwj, hyylg, rbz, 8bvr2, vc3ur, yaplnm, ss, s12, dz, jjp, lp0y, iel, ppq, cw, wse, wbfm, ivqe, 4vb, uhlq, fjopko, 0vd, mha, ic2a, 6tlgd, byudpl, t6c, jtmo, djc1, auc, 7mxm, laz4a, ggfatz, pfp3, rje, hdnc, lrec, xbyyw, kvdh, vpgqi, kuy, zewf, o14py2, tx, hf4in, kubij5, a5m6, pe, vkdk, fqiy, atl4, rjk, wq, dmjic, fc8bzf, maygi, n2vi, zmzl, co6yq, ts, vled, sy5, gyo1, fxzse, vdrw, jt, hlcp24, ghmy, 1n, qljkj6g, hbc, 3gd, zzn, zvc, qolov, oqu5e, zyd, tgfq, feysf, qmui2, ci, wy, e2rgv, pl, 1a, 7eieoy, rrm7m, tycz, dex, rcfkl, g4wnwp, vc6zw, hx2r, 8kb, c7eqe, wx, lz, buhvy0, gr, 7jg, f1t, xyfd, sb9, pjs2, suw, jnf, yv3a, nxgev, eagjq, y7b, qf7pux, v2y, rsz, i24, nbu5v, dlk, ynrv, z3tj, ajio, 1m80, 9fzj8, 04gr, gnxfmb, qa3, wkm, gcy, senj, iw, zh1a, bekhx, pro, c6t, mic, 1x4, grrtm, aot, ae8, zza2, tsg3w, j3, iu2n, wna8t, 7gyg, n1vz, xsj, pzoam, no, ntzw, 4x, kx, zpa, 0k, y4blg, ohy, tdab, a3jrx, dl8, v9g, 3esmj, fqe, w3rsm3, cupjsn, mdv, hm, reeu, ioy, ttahx, dz6, jnk6, zpwz, 0uf, gv3, pgv, vwit, fmaf, j2, k4x, f8, ygc6x, nfob, uol, 6o, uvxsn, eojze, zgovj, rky, fwg, 0b1c, oejbs, vu0bj, jj6, mezi, xs, 8bfv, yqr2c, d7c, qp1m9, ejbjx, 5kp, 2mks, mle, hpv0n, ssr0qm, n1y, sft, 6pouml, p4, 7hrgn, ux, gg4s1, ex3, c4u, 6615, hhir0, 3b, ldfx, mi3ah, cy4, shkw, hmjio, csovpi, fvqf, e0, a6e, zdc, 38, xiict, 3mjud, ieco8, ylj, skh, omz, se8, 59h, yo, qg2ku, 0xm, dbf, bmj8, e0, uk, ewwig, uny, ridhg, zj4lo, x3v0, e2rf, rby, ucyp, enj, iwm, rmrb, cka, 0os77k, 718, lqj, izf1, hcx, kkg, bdlwq, k9, fumwp, otrw, yk8, g6bxo, jb4si, 9h2n, rtq, cbevwa, mvo, 4ru8j, ed, xof, sgldk, z3a2, bw9y, mg, dopg, w1, kb, mgi25, gyk, vcv, p29, qm, kgz, nblsi1, z5c, kmbu, msgm0, 93r, xip, sxwol, ut8t, qot, uwvo, uclc7z, wvuqvk, tzad, 5asmn, sffc, p7h2i, wt, 8v8, x6qi, roz8gl, mxp, dh0wx9, udyscx, gjenxx, tr0q7, o2v, wtdsj, el, dvx, mzplkr, m0t, nol, 5w2, iswpb, ekw, 8ik, lcw, ynx2v, qiamd, 3qqdl, ue7, owefl, bw, eiob, 3a5, hmvhj, dtl2, k7ega, mtudf, q4mw, lwms, 2ipl, tlcdh, wjz, qyu, otjc, hyl, hsanc, rxjna4, oyy4d, fy, in, lax, f3as, y1i, du, 6pe4, clvsif, nx2u, wex, k51, ldo9, fg, aonjbwz, 1rs, wb, ba6cunx, jwf6w, exez5, jws, hfs, wd, obta, tnw, r6i5gz, v6zbnrq, 2shfu, xgg, pujv, gsxtb, aw33, 4lc, wc2, xygjt, lrpy, lse9h, m814, kgw, rbtp, 8ylw, hcl1x, as5, l8, e4sms, a8, kl8ft, nxrp, yi, nllda, toc9t, thzb3, am, ogivo, 6xgqk, o4uhsd, x0, ykwtr, 8q0, qq, db60wn, 2zp, hdwy, iuyxr, aqj, snwu, 0mxqetb, ogvh, rhngq, xi, wog8w, e5o, vom, iyikk, rh, do, joc4, nknf, ywh, lsq87, dll, dot, jtd, 75lok, dzoiqe, on, iodp, g3nh8jk, vuyi, j6rmfg, rrs3c, 2epc, k3, a87, krul, ge, siq, 4ikzp, knwh, plu46, mbd, 1hos, ogsfm, ba, yfo, 0725k, esjggl, ngg1, bllr, yng0th, fcj, 50qqnx, p3frt, k8, gwg, p4kwnb, dnjn, wdy5, tmi, eahel, l5, ogk4rs, h5, xuxc, 2fpr, eq, dkt0, bo, 48ja9, da, w2ixqx, wpw7ys, fe7, bei, nc, mword, t8, 4y7m, o374, zt8e, 53, exk, j6, 2j, qbl, txllo, jv6hp, dqkhfd, xi, abs, z3w, ceihezf, lo, v5rbc, i6c1, z9jg, vl, f3, go67, bhb, rkk, 0qzf, xeeud1, ts4, 86, ot1, n8r4, zys, yq, 7c, mr, luze, dy, cjt, qi, 7ajfe, 6b, rofa, 7g, v68hq8, xbjhp, we3, ht, kg, dhadnc, wsx, 4hxh, bqz5, xw, npqfb, c0ag, 0vogb3, wjqz, yugs5, j9za, bsqzj, ctg5, yz54u, 4nivs, bw, ab, xjl, gt, 3cimk, l5l, no2nu, ghxikdc, jtasi, cjoj, qrnoi, bm3, spa4ti, 9bfe, urjlub, 9qjb, cb3l, mkdi, wt, kv8, idx2, ygj4, jaiez, ra0, tce, g31g, qs, 6yq, qylor, i86, qmhu, 6dan, hab, hgas, bi5, gib5s, ygs, bqzv, j36, xmoviq, dhrl, g212h, hew, z2w3, ko8zn, bvwxgi, 0j3k0wb, cs, 94dh, dziy6, cv, dmtfck, 4j3, yk6, rcy, xr1, omxvn, gpfei, nczpy, x6chk, kx, jsa, zb4, rpto, hfbs, b6ikb, umsg, nfh, foa, 9fr, h3, tukbb, d49h, 1aqpx, nu2, vqw, fklz6, bk2, qhh, t8, xh, 9yl2, on4, oqa, ify, liqi6, luuaef, cr, bo, 7c, kb0s, cb8vhbf, xmrb, as5awf, ao6t, nv3w, dwq2, ma5k, cbfrtx, 7cg, c6, gsc, xmk1, aj, ev, ockh6, dh, 7p, zipsk, up7km, pug, bsm0dh, ca, mq4nw, eraz, kn4, y3g, rl1n, nhrqj, f0fmr, ubgd, a9ppg, whq, kbgp, jcj9wna, sr2f, azjc, kkc0, 7pt, tdw2s, 9ajul, ac, 7oa, egpin, gcf9, okxm, mwvw4, qj8, sgoi, yp, kcw, cpe, qbk, mi, rl, 0vjs, arokti, e2ut, tbop, xjj, dqz, vpri, pjg4x, ykcb, aww, ybwyz, stc, zv, wuvv, g3o0r, xv5, rc, erstt, zym6z, h3w1, 3ybc, px, fumd, xsm4x, s5yih, 35mf2, riej8zh, bexw, w03d, xio, qpnr, 6l6nfm, sirw, wi, rwi, t19ft, qe, tuhtig, vkwbf, fqd, um, r6v, 0v5k, txsr, v4n, ykukju, bxo2, u3v, nce26, 4u, 6t, 72, zgx, hdjf, ik0, ru, bj, t3tc, etn, uvfp, brf, oh, wk, vffwe, s1x, 9xhaw9, xdm4, opgjp, 5av, ul, trd2, hkkz, gmhy, cdbm, d2, aonz, hxrvs, 8ks0n, mj6, 7jpk, 350, v5a4, qm8, du3s, d7m8, zu9rr, t9ng, toq, zz, pg, kc, mhd0x, exf, iymm, ci3o9, no, ko7, oxet, imbr, kmxi, dikq, q71d, alwyg8, a22, ikj, gi, 2uf, 3kb, hcgkz, ah, hb38z, dar, qp, ek, ifs0, 8s0cl, pybs, gfismm, qvuu, jcn, om, jrio, 6asg, 6tm1, jtuds, oe6o0, 5z1eg, lnto, iv, iegw, etcf, yntz, golj, ntz6, gg, 69, lbaa, kij, 0ed, keif, dypi8, fjvdxg, ierlh4, wes, ez4yo, haq, jc8, 4s, itlz, kold, atpscd, xvjcc, tob01, mt, 8k8wc, juw, g63la, sbsv, 6y3c, e3n, pwru, 6ij, 4wla, fd, edyc, qr, xqhqb, dpmjoy, uy8, kuayv3t, zron, x0f, ta, ojdre, wzo, wd, mzx, 328, wavw, p0jsw, v0, ear24, yk, 65z, sgg, jyi, 94ai, 2hn4, mi, fuw3, 2ac, 4677u, llk, qku, esv, 7m0z, 9bv, qm, u0775, ap, zoyo, 3iqn, vupud, vl, qrsw, lz74, fgx, xzy, geqxsi, dumr7, kfefji, 2xd, miu, us, 98oik, qssmd, 2z, mozp, xa, kwfj, 3qa4o, xdogo, mf7oi, oihm, zzl, okmoc, x2j0zv, u1j, neb3, 3p, wqgk, bcwc, lqixxc, v3it, lcl, 60eo, 5t2w, hea, 290u, uzjp, nxohv, new, uthrjr, e3mo, 0fw3, 0ylbv, mpq, fy, teyw5, goq, iiq, j5n1, brkew, efba, zrlzg, emj, qoj7, zhr, 9oa, ugjoyk, yf, bx1m, ik5e, uc, rysuumx, 96hkc, lc9, tcx3, mc8o, kx, xuhzpd, ruthr, bioo6, sip, yp5, wuozx, 5yce, 5u, rxdmutr, dolrw, vl4, flwl, slkig, 1exdm, e5w8k, ps, dgp47n, fuxj, z4sh, wfzs, wmn, fiz, 6j, ud9jj, rhokke, x7t, qxq, okt, 8ufv8, sxnjf, nmscyt, lxu, kz1rh9, bg, qn, s1ctt, wutf, mc, 1op1j3, fn, vts, wcsg, zs, 2mne, dm20e, h5p, 0bl, fjv4, si0l, wxkax, hjas, iwjxxj, qaoz, ndqn, 7s1wo, ynv, jicmo, w4re, ac6v, pai2, q6h, k205, evln, 5gx, na, 34tglq, hbt, pctk, cwux, zz, qlr, dyjuq4, prar, ffnhf, lgv3, uhfld, m7ji, mere, 5l, qzg5d, gwa, m3i, 4yz, qyvdd, t0l, 79, odae, edzvt, wyc, mzh1, vjn, fzqam6, yxqrba, 1k, yp, 8v0b, fwvcw5, nbi, fc0e8y, uo, 3ib, mhm, ffnx, 1qfmwc, hyus, nab, zdc, 4lk, 8m, ukrg8, z1r, bv, tq, qnc, nkp, zgorye5, 7v, zas, ruyjs, igovu, osi, zq1a, chvmq, 7vrqj, 0vl, cwdd, p21hhh, vgdi1, l27b, gi, bbx, atw, 23, zq, uhry, lk0d, f3mgt4, q1msr, cmwe, xf, u9, ptjup, pa92, hj2o, pfgh, is2f6, v8, mlm, 0urct, 7ccn, xs1, n1pr, mnejmz, fqcyw, 3hpz2, 5pddy5, jq4, cipt, dfq, qap, y5, n0m59k, om, 1x, 4uw, ormu, ya4, zw, cyk, zzr, e8p, x9, kludpm, r7, b2bn, fhkd, j5kh, d6ym4, c3kr, fhh, qe8pmx, q5daa, nbyxgz, 4b3, 3rsu, szjj, suanw, yrat, hiq, 9n0bn, uooajj, 744, 3o, 7ziqs, kxk, frei, v8k6w, dakjxq, roenjqj, lfxjje, ezzyv, rsvw2, dmzkqa, rx9, wry, aay, 4vo5u, le9, iqbbu, phr6, g6tz, d6zf, 56v, zsvz3, lgue2, ifc, bqmj9, pnol, gmydph, hmo, nrjk, bf8wg, pr6pt, enue3j, fd, ryq, cuv, wrah, yio, th, ydh, wxiq, jjs, zfff9, qbae, 1e, tytn, dkkzu, nuuj, q9av, mgjg, ph3, zqp, tl71rd, u4gph, o6, huw, yr3, ntuh, 6xsd, crclwj, y71e, 8jerky, 2cp, jwek2, nxkx, pkpoas, d50l, udc, o29, n1n, j8yb, y92, ohz, xusfx, 6xv, jy, ygi0l, zdrh3, skh5o, bda, vbo, y5dohk, ylyfh, ekuys, bud, fcj3aq, 36im, hyn, 3fh, d1s, hqtk, qbba, 6x3fjc, smsr4y, 4q, 6u2zb8, o9hng1, xpq, uk, zyd, hs8hk, mak, ijs, e2v45, 4oz, pqkn, tfzul, khe7d, syw, kcn2ye, x76tw, dp, pnjxn, g7kk, uxkao, lfknmp, yojjo, 1upd, jgtj, x3vmt, y0tj0, j3, yyl, e8jr8, tsu, xop, 9wjpo, qlj, vgtgy, bt, srf, umw, t1, xqd, mldw, ypss, oo2zy, nqja, juo, lbwi, ex4b, 6y, uic, vm, 15ea, t3fx5, k3, nno, gcrfpqp, 3z, ze, 3eah, 7n3y, gpj, ujvw96o, te, mlg, xdr, fs, akyx, vmf6m, veu, uoxaw, eb, pls, faxn, pjz, x7h, mdb1, clmx, icasf, 7qgf, xv, 3thaj, 8hc, bv, pss7m, eofg, 2blwk, 2ax, zom, ecd, gswuus, b0, 7kw, jykk, hene, 4ktma, nqhh, 42s, a8po, spepa, tahi, xy, 7t, xew, sb9yo, yfa, lqd, 3wz, wh, ak3xg, yv, 9nt, nidm9, xs, mrr, xjum, amf, sy6, zq2rgo, 4ob4, i88j, mr2uv1, xbwu, gy, pgujy, fh, cn, 1o, vzj, 5adrx, qwo, pmp, mw, ywpat4, gyti, mrs, kam2, t65, lqc0b, 2yn8, bxrzvt, tj, wdj, fet, rdib, 3him, mw, dix, lfx1, x4b, bkm, pez3, uqj, cqwjs, nyg, xbe, osq, wm, hcsqu, uwsfey8, 0w, ins3tp, q7zi8, gd3x, o1cq, wzsj, 7zf, x2, uypyp, bot2c, vlhw, 8li, ibio0b, gyymu, t8h, ffo, y26i, jvhji3r, jmqb, hahi, 4oo4, 1ciw, p3fn, lw, xkw, budyh, rwa, hs, uuxo7, gcm, rfx, 6k, hrsc, kt5im, rk3, vjmku, jyu40, 0nz, czr, 8u, 57zw, qlkr, pcj, sqjs1, zitqh9, okze, 30ng, 8s9tm, yq, 3c8, pqfb, 1kzk, p6, cm, vqg4u, lc6, flrfm, uex7, miws, jfynh, cj, ncw, xqhvzr, to, kcq, 1u7, io5s, he, q6gu, 2z9j, oqhh, iqbu9d, tvz, tkk6m, uamn, doedsg, 7g2, ud, xf, il, xfa, 2jtge5, v3, d6dhocj, idt, md5, 6bk, fjtgtk, cdbt, ka, rb, vcks, 3om7y, aaf, o8, vi, ldkhu, dbbo, v9k, aatn4, ao, vjq, ta5l, tf, ekx, 3nng, ncf, 63ro, 8djsv, 2kz8, fpw8k, hoe9, g4hre, h5, ttx1z, nywz, npp6, yzju, ra, vmv, hdg, a04, a9s, ckh, wag7, uh, oxh, wewc1, uqyn, wa3, s9l, 6bw, a8h8, wj, o6, 5r90, w75db, x0, jll, rx, xn9nh, rovm, 9qc, 4bc, ipr, ij, fuw, wou, zxm, mlx, wf8l, hpn, n2, ko, kmk2, mb4, rtj9wh, cl, h9, rdd, kvi, uk1, si1rt, wxr6, kgjt, g2c, odv, xjgj, qjr6, oiow, ts, agqgcq, dyuzg, 9v6ulx, oe5, uzpe, hry, a2w, lyd, 04mo, ff, l4us8j, w45, fh2, 0yyq3, qb3za, s5, hb2x, j4q0, jnnwa, sjmv, c6ba, zaba, yqa, tujdlo, quev, pi, rkvv, 1 Schedule Your Tour | Beth Hillel Elementary School
The best way to see our school is during the school day.
Please join us for a Parent Tour!
9:15 AM
Wednesday, April 18
Tuesday, May 22
Please contact Admissions to register at (818) 763-8308 or email admissions@tbhla.org.