public function statusesUserTimeline($userId = null, $screenName = null, $sinceId = null, $count = null, $maxId = null, $trimUser = null, $excludeReplies = null, $contributorDetails = null, $includeRts = null)
{
// validate
if ($userId == '' && $screenName == '') {
throw new Exception('Specify an userId or a screenName.');
}
// build parameters
$parameters = null;
if ($userId != null) {
$parameters['user_id'] = (string) $userId;
}
if ($screenName != null) {
$parameters['screen_name'] = (string) $screenName;
}
if ($sinceId != null) {
$parameters['since_id'] = (string) $sinceId;
}
if ($count != null) {
$parameters['count'] = (int) $count;
}
if ($maxId != null) {
$parameters['max_id'] = (string) $maxId;
}
if ($trimUser !== null) {
$parameters['trim_user'] = $trimUser ? 'true' : 'false';
}
if ($excludeReplies !== null) {
$parameters['exclude_replies'] = $excludeReplies ? 'true' : 'false';
}
if ($contributorDetails !== null) {
$parameters['contributor_details'] = $contributorDetails ? 'true' : 'false';
}
if ($includeRts !== null) {
$parameters['include_rts'] = $includeRts ? 'true' : 'false';
}
// make the call
return $this->doCall('statuses/user_timeline.json', $parameters);
}