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));
     }
 }