<?php

set_include_path
(get_include_path().PATH_SEPARATOR.'../lib');
require_once 
'Zend/Service/Twitter.php';


Class 
TwitterTest {
    
    protected 
$username '';
    protected 
$password '';
    
    protected 
$twitter null;
    
    
    public function 
__construct($username$password) {
        
$this->username $username;
        
$this->password $password;
        
        
$this->twitter = new Zend_Service_Twitter($username$password);
    }
    
    
    public function 
getUserInfos() {
        return 
$this->twitter->account->verifyCredentials();
    }
    
    
    public function 
getFollowers() {
        return 
$this->twitter->user->followers();
    }


    public function 
getFriends() {
        return 
$this->twitter->user->friends();
    }
    
    
    public function 
getDirectMessages() {
        return 
$this->twitter->directMessage->sent();
    }
    

    public function 
getReplies() {
        return 
$this->twitter->status->replies();
    }
    
    
    public function 
getTimeline() {
        return 
$this->twitter->status->friendsTimeline();
    }
}

session_start();

if (isset(
$_POST['username']) && isset($_POST['password'])) {
    
$twitterTest = new TwitterTest($_POST['username'], $_POST['password']);
    
    
$_SESSION['username'] = $_POST['username'];
    
$_SESSION['password'] = $_POST['password'];
} elseif(isset(
$_SESSION['username'])) {
    
$twitterTest = new TwitterTest($_SESSION['username'], $_SESSION['password']);
}

if (isset(
$_GET['source'])) {
    
show_source(__FILE__);
    exit;
}

?>


<html>
    <head>
        <title>TwitterTest</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style type="text/css">
            
            body { font-family:Arial; color:#333; }
            
            .l { float:left; }
            .c { clear:both; }
            a img { border:none; }
            
            .tab { cursor:pointer; float:left; width:100px; background:#ccc; border-bottom:2px solid #fff; border-right:2px solid #fff; padding:5px 10px; }
            .content { display:none; background:#ccc; padding:20px; }
            
            #tabs .active { border-bottom:2px solid #ccc; }
            
        </style>
        
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                
                $('.content:first').show();
                $('.tab:first').addClass('active');
                
                $('.tab').click(function(){
                    $('.content').hide();
                    $('.tab').removeClass('active');
                    
                    var id = $(this).attr('id').replace('tab-', '');
                    $('#content-'+id).show();
                    $(this).addClass('active');
                });
                
            });
        </script>
    </head>
    <body>
        
        
        <? if(isset($twitterTest)): ?>
        
            <div id="tabs">
                <div class="tab" id="tab-1">me</div>
                <div class="tab" id="tab-2">following me</div>
                <div class="tab" id="tab-3">i follow</div>
                <div class="tab" id="tab-5">timeline</div>
                <div class="tab" id="tab-6">replies</div>
                <div class="tab" id="tab-4">messages</div>
            </div>
    
            <div class="c" id="contents">
                
                <div class="content" id="content-1">
                    <? foreach($twitterTest->getUserInfos() as $k => $v): ?>
                        <div><?=$k?><?=$v?></div>
                    <? endforeach; ?>
                </div>
                
                <div class="content" id="content-2">
                    <? foreach($twitterTest->getFollowers() as $user): ?>
                        <div class="l"><a href="http://twitter.com/<?=$user->screen_name?>">
                            <img width="48" height="48" src="<?=$user->profile_image_url?>" /></a></div>
                    <? endforeach; ?>
                    <div class="c"></div>
                </div>
    
                <div class="content" id="content-3">
                    <? foreach($twitterTest->getFriends() as $user): ?>
                        <div class="l"><a href="http://twitter.com/<?=$user->screen_name?>">
                            <img width="48" height="48" src="<?=$user->profile_image_url?>" /></a></div>
                    <? endforeach; ?>
                    <div class="c"></div>
                </div>
                    
                <div class="content" id="content-4">
                    <? foreach($twitterTest->getDirectMessages() as $message): ?>
                        <div>TO: <a href="http://twitter.com/<?=$message->recipient_screen_name?>">
                            <?=$message->recipient_screen_name?></a>
                            <p><?=$message->text?></p>
                        </div>
                    <? endforeach; ?>
                    <div class="c"></div>
                </div>                    

                <div class="content" id="content-5">
                    <? foreach($twitterTest->getTimeline() as $message): ?>
                        <div>
                            <a href="http://twitter.com/<?=$message->user->screen_name?>">
                                <img width="48" height="48" src="<?=$message->user->profile_image_url?>" /></a>
                            <p><?=$message->text?> <?=$message->created_at?></p>
                        </div>
                    <? endforeach; ?>
                    <div class="c"></div>
                </div>
                
                <div class="content" id="content-6">
                    <? foreach($twitterTest->getReplies() as $message): ?>
                        <div>
                            <a href="http://twitter.com/<?=$message->user->screen_name?>">
                                <img width="48" height="48" src="<?=$message->user->profile_image_url?>" /></a>
                            <p><?=$message->text?> <?=$message->created_at?></p>
                        </div>
                    <? endforeach; ?>
                    <div class="c"></div>
                </div>                    
                    
            </div>
        
        <? else: ?>
            
            <form action="#" method="post">
                <div>Twitter Login</div>
                
                <label>Username:</label>
                <input type="text" name="username" />
                
                <label>Password:</label>
                <input type="password" name="password" />
                
                <input type="submit" value="Login" />
                
                <div><strong>werden nicht gespeichert!</strong></div>
            </form>
        
        <? endif; ?>
        
        
        <a href="?source=1">view source code</a>
        
    </body>
</html>