/**
  * Return paginated status updates for user ids
  *
  * @param array $user_ids
  * @param integer $page
  * @param integer $per_page
  * @return array
  */
 function paginateByUserIds($user_ids = null, $page = 1, $per_page = 30)
 {
     $status_updates_table = TABLE_PREFIX . 'status_updates';
     $status_update_ids = array();
     $rows = db_execute_all("SELECT id, parent_id FROM {$status_updates_table} WHERE created_by_id IN (?)", $user_ids);
     if (is_foreachable($rows)) {
         foreach ($rows as $row) {
             if ($row['parent_id'] == 0) {
                 $status_update_ids[] = (int) $row['id'];
             } else {
                 $parent_id = (int) $row['parent_id'];
                 if (!in_array($parent_id, $status_update_ids)) {
                     $status_update_ids[] = $parent_id;
                 }
                 // if
             }
             // if
         }
         // foreach
     }
     // if
     return StatusUpdates::paginate(array('conditions' => array('id IN (?)', $status_update_ids), 'order' => 'last_update_on DESC'), $page, $per_page);
 }