public static function send_activity_report() { $current_time = current_time('timestamp'); $mostly_recent_users = get_users(array('meta_key' => 'displet_last_login', 'meta_value' => $current_time - 60 * 60 * 24 * 7, 'meta_compare' => '>')); $recent_users = array(); if (!empty($mostly_recent_users) && is_array($mostly_recent_users)) { $edit_url = admin_url('admin.php?page=displet-lead-manager&user_id='); foreach ($mostly_recent_users as $user) { if (!empty($user->displet_last_login) && is_numeric($user->displet_last_login)) { $logins_for_day = 0; if (!empty($user->displet_logins) && is_array($user->displet_logins)) { foreach ($user->displet_logins as $login) { if ($login > $current_time - 60 * 60 * 24) { $logins_for_day++; } } } $property_stats = DispletRetsIdxViewedPropertiesController::get_property_view_stats($user->displet_user_properties); $recent_users[] = array('url' => $edit_url . $user->ID, 'name' => $user->nickname, 'phone' => $user->displet_phone, 'logins_for_day' => $logins_for_day, 'logins_total' => count($user->displet_logins), 'price_average' => $property_stats['price_average'], 'zip_mode' => $property_stats['zip_mode']); } } } if (!empty($recent_users)) { $user_activity_report = '<table cellpadding="3" width="100%"><tr><th>Name</th><th>Phone</th><th>Logins In Last Day</th><th>Total Logins</th><th>Average Price</th><th>Most Frequented Zip Code</th></tr>'; foreach ($recent_users as $user) { $price_average = !empty($user['price_average']) ? number_format($user['price_average']) : ''; $user_activity_report .= '<tr><td align="left"><a href="' . $user['url'] . '">' . $user['name'] . '</a></td><td align="center">' . $user['phone'] . '</td><td align="center">' . $user['logins_for_day'] . '</td><td align="center">' . $user['logins_total'] . '</td><td align="center">$' . $price_average . '</td><td align="center">' . $user['zip_mode'] . '</td></tr>'; } $user_activity_report .= '</table>'; new DispletRetsIdxEmail('activity_report', array('activity_report' => $user_activity_report)); } }
public static function update_viewed_properties($property) { $user_id = get_current_user_id(); if ($user_id != 0 && current_user_can('displet_save_properties') && !current_user_can('manage_options')) { $user_properties = get_user_meta($user_id, 'displet_user_properties', true); if (empty($user_properties)) { $user_properties = array(); } $user_property = wp_parse_args($property, array('address' => '', 'baths' => '', 'beds' => '', 'id' => '', 'image_url' => '', 'price' => '', 'sq_ft' => '', 'url' => '', 'zip' => '')); $user_properties[] = $user_property; update_user_meta($user_id, 'displet_user_properties', $user_properties); $stats = DispletRetsIdxViewedPropertiesController::update_property_view_stats($user_id, $user_properties); if (!empty($property['id'])) { $api_user_id = get_user_meta($user_id, 'displet_api_user_id', true); if (!empty($api_user_id)) { DispletRetsIdxUsersApiController::update_user_property_views($api_user_id, $property['id']); } } do_action('displetretsidx_post_lead_viewed_property', $user_id, array('all_properties' => $user_properties, 'last_property' => $user_property, 'properties_count' => count($user_properties), 'properties_stats' => $stats)); } }
public static function save_new_meta_values_for_user_searches_per_user($user_id) { $user_properties = get_user_meta($user_id, 'displet_user_properties', true); if (!empty($user_properties)) { DispletRetsIdxViewedPropertiesController::update_property_view_stats($user_id, $user_properties); } $user_searches = get_user_meta($user_id, 'displet_user_hashes', true); if (!empty($user_searches)) { update_user_meta($user_id, 'displet_user_hashes_count', count($user_searches)); } $user_logins = get_user_meta($user_id, 'displet_logins', true); if (!empty($user_logins)) { update_user_meta($user_id, 'displet_logins_count', count($user_logins)); } }
private static function _update_user_property_views() { if (self::$_model['is_property_details_page'] && self::$_model['is_canonical']) { DispletRetsIdxViewedPropertiesController::update_viewed_properties(array('address' => self::$_model['listings'][0]->address, 'baths' => self::$_model['listings'][0]->full_baths, 'beds' => self::$_model['listings'][0]->num_bedrooms, 'id' => self::$_model['property_id'], 'image_url' => self::$_model['listings'][0]->image_urls->primary_big, 'price' => self::$_model['listings'][0]->list_price, 'sq_ft' => self::$_model['listings'][0]->square_feet, 'url' => str_replace(trailingslashit(self::$_model['property_details_page_url']), '', self::$_model['canonical']), 'zip' => self::$_model['listings'][0]->zip)); } }