[HOME] | "; echo "[LOGOUT]

"; $client=connect($_SESSION['username'],$_SESSION['password']); if(isset($_GET['key'])){ # Asking for a specific spreadsheet? $availws=getwss($client,$_GET['key']); html_list("Available Worksheets",$availws); }elseif (isset($_GET['wskey'])) { # Asking for a specific sheet within the spreadsheet? $sheetdata=getsheet($client,$_GET['wskey'],$_GET['ws']); showsheet($sheetdata); }else{ # If not, dump a list of spreadsheets to choose from $availss=getsss($client); html_list("Available Spreadsheets", $availss); } }else{ # If not logged in, prompt for login showlogin(); } # Functions function html_list($header, $htmldata){ # Generic lame HTML list maker o'doom echo "

$header

"; foreach ($htmldata as $url=>$title){ echo "$title
"; } } function showsheet($sheetdata) { # Displays a list of cells. Needs work. foreach ($sheetdata as $cell=>$contents){ echo "$cell: $contents
"; } } function showlogin() { # Renders the login prompt echo "
Username:
Password:
"; } function build_session($username, $password) { # initializes the login session $_SESSION['username']=$username; $_SESSION['password']=$password; } function connect($user, $password) { # Authenticates to the mothership $client = Zend_Gdata_ClientLogin::getHttpClient($user, $password, Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME); return $client; } function getsss($client) { # Gets a list of spreadsheets; Returns an array. $spreadsheet = new Zend_Gdata_Spreadsheets($client); $feed = $spreadsheet->getSpreadsheetFeed(); foreach ($feed->entry as $entry) { $id=split("/",$entry->id->text); $key=$id[5]; $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."?key=$key"; $availss[$url]=$entry->title->text; } return($availss); } function getsheet($client, $key, $ws) { # Gets the contents of the selected worksheet $spreadsheet = new Zend_Gdata_Spreadsheets($client); $query = new Zend_Gdata_Spreadsheets_CellQuery(); $query->setSpreadsheetKey($key); $query->setWorksheetId($ws); $feed = $spreadsheet->getCellFeed($query); echo "
";
        foreach($feed->entries as $entry) {
            if ($entry instanceof Zend_Gdata_Spreadsheets_CellEntry) {
                $sheet[$entry->title->text]=$entry->content->text;
            }
        }
return($sheet);
}

function getwss($client, $key) {
# Gets worksheets for the selected spreadsheet; returns an array
$spreadsheet = new Zend_Gdata_Spreadsheets($client);
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
$query->setSpreadsheetKey($key);
$feed = $spreadsheet->getWorksheetFeed($query);
    foreach ($feed->entry as $entry)
    {    
    $wsid=split("/",$entry->id->text);
    $ws=$wsid[8];
    $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."?wskey=$key&ws=$ws";
    $availws[$url]=$entry->title->text;
    }
return $availws;
}

?>