public function gdata_insert_row()
 {
     ProjectConfiguration::registerZend();
     Zend_Loader::loadClass('Zend_Gdata_AuthSub');
     Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
     Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
     Zend_Loader::loadClass('Zend_Gdata_Docs');
     $username = "******";
     $password = "******";
     //Chave do arquivo
     $key = "0Ak_oCZQf3sTidEJnZGQ4MHdhS0R1NUlSeG1ORkpnalE";
     //Carregando o serviço do arquivo
     $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
     $client = Zend_Gdata_ClientLogin::getHttpClient($username, $password, $service);
     $spreadSheetService = new Zend_Gdata_Spreadsheets($client);
     //Pegando as planilhas do arquivo
     $query = new Zend_Gdata_Spreadsheets_DocumentQuery();
     $query->setSpreadsheetKey($key);
     $feed = $spreadSheetService->getWorksheetFeed($query);
     //Escolhendo a planilha correta
     foreach ($feed->entries as $entry) {
         if ($entry->getTitle() == 'Disponiveis') {
             $worksheetId = basename($entry->getId());
         }
     }
     //Configura variaveis da nova linha na planilha
     $assoc = $this->getAssociado();
     $matricula = $this->isTitular() ? $assoc->getMatricula() : $assoc->getTitular()->getMatricula();
     $dependenteId = $this->isDependente() ? $assoc->getId() : '0';
     //Monta array para o serviço do arquivo
     $rowData = array("data" => $this->getDateTimeObject('created_at')->format('Y-m-d'), "matricula" => $matricula, "nome" => $assoc->getNome(), "dependenteid" => $dependenteId, "encaminhaid" => $this->getId());
     //Insere na Planilha
     $insertedListEntry = $spreadSheetService->insertRow($rowData, $key, $worksheetId);
 }
 public function postInsert($values)
 {
     set_time_limit(0);
     error_reporting(E_ALL);
     ini_set('display_errors', '1');
     $clientLibraryPath = sfConfig::get('sf_lib_dir') . '/vendor/ZendGdata-1.11.11/library';
     $oldPath = set_include_path($clientLibraryPath);
     // load Zend Gdata libraries
     require_once sfConfig::get('sf_lib_dir') . '/vendor/ZendGdata-1.11.11/library/Zend/Loader.php';
     Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
     Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
     // set credentials for ClientLogin authentication
     $user = "******";
     $pass = "******";
     try {
         // connect to API
         $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
         $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
         $service = new Zend_Gdata_Spreadsheets($client);
         // get spreadsheet entry
         $ssEntry = $service->getSpreadsheetEntry('https://spreadsheets.google.com/feeds/spreadsheets/' . $this->getSpreadsheetId());
         // get worksheet feed for this spreadsheet
         $wsFeed = $service->getWorksheetFeed($ssEntry);
         // create new entry
         $wsEntry = new Zend_Gdata_Spreadsheets_WorksheetEntry();
         $title = new Zend_Gdata_App_Extension_Title($this->getQuestion());
         $wsEntry->setTitle($title);
         $row = new Zend_Gdata_Spreadsheets_Extension_RowCount('10');
         $wsEntry->setRowCount($row);
         $col = new Zend_Gdata_Spreadsheets_Extension_ColCount('3');
         $wsEntry->setColumnCount($col);
         // insert entry
         $entryResult = $service->insertEntry($wsEntry, $wsFeed->getLink('self')->getHref());
         $wsid = end(explode("/", $entryResult->id));
         echo 'The ID of the new worksheet entry is: ' . $wsid;
         $this->worksheet_id = $wsid;
         $this->save();
         //die('ok');
     } catch (Exception $e) {
         die('ERROR: ' . $e->getMessage());
     }
 }
 public function testCustomElementsCollected() {
     $rowData = array();
     $rowData['a1'] = 'new';
     $rowData['b1'] = 'row';
     $rowData['c1'] = 'data';
     $rowData['d1'] = 'here';
     $entry = $this->gdata->insertRow($rowData, $this->sprKey);
     
     $this->assertEquals(4, count($entry->custom));
     $this->assertEquals(4, count($entry->customByName));
     
     $this->assertEquals('new', $entry->custom[0]->getText());
     $this->assertEquals('row', $entry->custom[1]->getText());
     $this->assertEquals('data', $entry->custom[2]->getText());
     $this->assertEquals('here', $entry->custom[3]->getText());
     
     $this->assertEquals('new', $entry->customByName['a1']->getText());
     $this->assertEquals('row', $entry->customByName['b1']->getText());
     $this->assertEquals('data', $entry->customByName['c1']->getText());
     $this->assertEquals('here', $entry->customByName['d1']->getText());
     
     $ssTest = new Zend_Gdata_Spreadsheets($entry->getHttpClient());
     $ssTest->delete($entry);
 }
function getSpreadsheetId()
{
    try {
        // connect to API
        $httpClient = $accessToken->getHttpClient($oauthOptions);
        $client = new Zend_Gdata_Docs($httpClient, "leopizzo991");
        ///$token = new Zend_Oauth_Token_Access();
        $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
        //$client = Zend_Gdata_ClientLogin::getHttpClient("leopizzodb", "l30p1z04d", $service);
        $service = new Zend_Gdata_Spreadsheets($client);
        // get list of available spreadsheets
        $feed = $service->getSpreadsheetFeed();
    } catch (Exception $e) {
        die('ERROR: ' . $e->getMessage());
    }
    foreach ($feed->entries as $entry) {
        $spreadsheetURL = $entry->id;
    }
    $spreadsheetKey = basename($spreadsheetURL);
    $query = new Zend_Gdata_Spreadsheets_DocumentQuery();
    $query->setSpreadsheetKey($spreadsheetKey);
    $feed = $service->getWorksheetFeed($query);
    //echo "Spreadsheet Key: <strong>$spreadsheetKey</strong> <br>";
    foreach ($feed as $entry) {
        $sName = $entry->title->text;
        echo "ID of sheet {$sName} is: <strong>" . basename($entry->id) . "</strong><br>";
    }
}
示例#5
0
<?php

require_once 'php/config.php';
set_include_path("gdata/library");
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
Zend_Loader::loadClass('Zend_Gdata_App_AuthException');
Zend_Loader::loadClass('Zend_Http_Client');
try {
    $client = Zend_Gdata_ClientLogin::getHttpClient($email, $password, Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME);
} catch (Zend_Gdata_App_AuthException $ae) {
    exit("Error Connecting");
}
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
$post_data = file_get_contents("php://input");
$post_data = json_decode($post_data, true);
$defaults = array('email' => 'none provided', 'date' => date('j F Y h:i:s A'));
$bug = array_merge($defaults, $post_data);
$insertedListEntry = $spreadsheetService->insertRow($bug, $spreadsheetKey, $worksheetId);
echo json_encode($bug);
示例#6
0
文件: index.php 项目: Reghyz/wpcb
function check_ipn()
{
    global $wpdb, $purchase_log, $wpsc_cart;
    $wpcb_atos = get_option('wpcb_atos');
    $wpcb_general = get_option('wpcb_general');
    $wpcb_dev = get_option('wpcb_dev');
    $purch_log_email = get_option('purch_log_email');
    if (!$purch_log_email) {
        $purch_log_email = get_bloginfo('admin_email');
    }
    // Automatic Response ATOS :
    if ($_GET['ipn'] == 'atos') {
        if (array_key_exists('mode_demo', $wpcb_dev) && $wpcb_dev['mode_demo']) {
            // Ce Kit de demo a du vous etre envoyé par la banque
            $pathfile = dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/cgi-bin/demo/pathfile";
            $path_bin_response = dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/cgi-bin/demo/response";
            $logfile = dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/cgi-bin/demo/logfile.txt";
        } else {
            $pathfile = $wpcb_atos['pathfile'];
            $path_bin_response = $wpcb_atos['path_bin_response'];
            $logfile = $wpcb_atos['logfile'];
        }
        // Initialisation du chemin du fichier de log :
        if (isset($_POST['DATA'])) {
            $data = escapeshellcmd($_POST['DATA']);
            $message = "message={$data}";
            $pathfile = "pathfile=" . $pathfile;
            if (isset($_POST['sandbox'])) {
                $result = $_POST['sandbox'];
            } else {
                $result = exec("{$path_bin_response} {$pathfile} {$message}");
            }
            $tableau = explode("!", $result);
            $response = array('code' => $tableau[1], 'error' => $tableau[2], 'merchantid' => $tableau[3], 'merchantcountry' => $tableau[4], 'amount' => $tableau[5], 'transactionid' => $tableau[6], 'paymentmeans' => $tableau[7], 'transmissiondate' => $tableau[8], 'paymenttime' => $tableau[9], 'paymentdate' => $tableau[10], 'responsecode' => $tableau[11], 'paymentcertificate' => $tableau[12], 'authorisationid' => $tableau[13], 'currencycode' => $tableau[14], 'cardnumber' => $tableau[15], 'cvvflag' => $tableau[16], 'cvvresponsecode' => $tableau[17], 'bankresponsecode' => $tableau[18], 'complementarycode' => $tableau[19], 'complementaryinfo' => $tableau[20], 'returncontext' => $tableau[21], 'caddie' => $tableau[22], 'receiptcomplement' => $tableau[23], 'merchantlanguage' => $tableau[24], 'language' => $tableau[25], 'customerid' => $tableau[26], 'orderid' => $tableau[27], 'customeremail' => $tableau[28], 'customeripaddress' => $tableau[29], 'captureday' => $tableau[30], 'capturemode' => $tableau[31], 'data' => $tableau[32]);
            //Session id used by wp ecommerce :
            $sessionid = $response['orderid'];
            // A venir : Ajout dans un google spreadsheet qui a toutes les entêtes précédentes (requis Zend)
            // A coler dans la page admin pour tester
            if (WP_ZEND_FRAMEWORK) {
                $GoogleConnection = true;
                $SpreadSheetConnection = true;
                try {
                    $client = Zend_Gdata_ClientLogin::getHttpClient($wpcb_general['googleemail'], $wpcb_general['googlepassword']);
                } catch (Zend_Gdata_App_AuthException $ae) {
                    echo $ae->exception();
                    $GoogleConnection = false;
                }
                if ($GoogleConnection) {
                    // Test
                    $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
                    $client = Zend_Gdata_ClientLogin::getHttpClient($wpcb_general['googleemail'], $wpcb_general['googlepassword'], $service);
                    // On va chercher le numéro de la feuille :
                    $query_worksheet = new Zend_Gdata_Spreadsheets_DocumentQuery();
                    // todo pour pas de client ici ?
                    $query_worksheet->setSpreadsheetKey($wpcb_general['spreadsheetKey']);
                    $spreadsheetService = new Zend_Gdata_Spreadsheets($client);
                    try {
                        $feed = $spreadsheetService->getWorksheetFeed($query_worksheet);
                    } catch (Zend_Gdata_App_HttpException $ae) {
                        echo $ae->exception();
                        $SpreadSheetConnection = false;
                    }
                    if ($SpreadSheetConnection) {
                        // Tout bon on ajoute :
                        foreach ($feed->entries as $entry) {
                            if ($entry->title->text == 'CB') {
                                $worksheetId_CB = basename($entry->id);
                            } elseif ($entry->title->text == 'Paypal') {
                                $worksheetId_Paypal = basename($entry->id);
                            }
                        }
                        $spreadsheetService = new Zend_Gdata_Spreadsheets($client);
                        // Insert row in google spreadsheet :
                        $insertedListEntry = $spreadsheetService->insertRow($response, $wpcb_general['spreadsheetKey'], $worksheetId_CB);
                    } else {
                        wp_mail($purch_log_email, 'Email envoyé depuis le auto_response', 'Mauvais Numero de Spreadsheet dans les options du plugin wpcb');
                    }
                } else {
                    if (WP_DEBUG) {
                        wp_mail($purch_log_email, 'Email envoyé depuis le auto_response', 'Mauvais login/mot de pass google dans les options du plugin wpcb');
                    }
                }
            } else {
                wp_mail($purch_log_email, 'Email envoyé depuis le auto_response', 'Installer Zend pour ajouter automatiquement les ventes à google drive !');
            }
            //  analyse du code retour
            if (isset($_POST['sandbox'])) {
                $message = "-----------SANDBOX-------------------------\n";
                foreach ($response as $k => $v) {
                    $message .= $k . " = " . $v . "\n";
                }
                $message .= "-------------------------------------------\n";
                if ($logfile) {
                    $fp = fopen($logfile, "a");
                    fwrite($fp, $message);
                    fclose($fp);
                }
                echo $message;
                wp_mail($purch_log_email, 'Email pour vous dire qu\'un paiement SANDBOX est arrivé !', $message);
            } else {
                //Vrai achat !
                if ($response['code'] == "" && $response['error'] == "") {
                    $message = "erreur appel response\n executable response non trouve {$path_bin_response}\n Session Id : {$sessionid}";
                    if ($logfile) {
                        $fp = fopen($logfile, "a");
                        // Ouverture du fichier de log en append
                        fwrite($fp, $message);
                        fclose($fp);
                    }
                    if (WP_DEBUG) {
                        wp_mail($purch_log_email, 'Email envoyé depuis le auto_response car il y a une erreur avec un paiement Atos', $message);
                    }
                    $wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed`= '5' WHERE `sessionid`=" . $sessionid);
                    $wpsc_cart->empty_cart();
                } elseif ($response['code'] != 0) {
                    $message = " API call error.\n Error message :  {$error}\n Session Id : {$sessionid}";
                    if ($logfile) {
                        // Ouverture du fichier de log en append
                        $fp = fopen($logfile, "a");
                        fwrite($fp, $message);
                        fclose($fp);
                    }
                    if (WP_DEBUG) {
                        wp_mail($purch_log_email, 'Email envoyé depuis le auto_response car il y a une erreur avec un paiement Atos', $message);
                    }
                    $wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed`= '5' WHERE `sessionid`=" . $sessionid);
                    $wpsc_cart->empty_cart();
                } else {
                    // Ok, Sauvegarde dans la base de donnée du shop.
                    if ($response_code == 00) {
                        $message = "-----------SALES----------------------------\n";
                        foreach ($response as $k => $v) {
                            $message .= $k . " = " . $v . "\n";
                        }
                        $message .= "-------------------------------------------\n";
                        if ($logfile) {
                            $fp = fopen($logfile, "a");
                            fwrite($fp, $message);
                            fclose($fp);
                        }
                        if (WP_DEBUG) {
                            wp_mail($purch_log_email, 'Email pour vous dire qu\'un paiement est arrivé !', $message);
                        }
                        $wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed`= '3' WHERE `sessionid`=" . $sessionid);
                        $purchase_log = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`= " . $sessionid . " LIMIT 1", ARRAY_A);
                        // Ne pas enlever car global !
                        $wpsc_cart->empty_cart();
                        // Peut-être faut-il ici decrease stock ???
                        // redirect ->
                        transaction_results($sessionid, false);
                        // false -> no echo ! // The cart is emptied in this function a condition d'avoir la global $wpsc_cart !
                    }
                }
            }
            // Fin du vrai achat
        } else {
            if (WP_DEBUG) {
                wp_mail($purch_log_email, 'Qqn a accéder à cette page sans utiliser le module de CB', 'Rien de grave, c\'est peut-etre un robot google !');
            }
        }
    } elseif ($_GET['ipn'] == 'systempaycyberplus') {
        $message = '';
        foreach ($_POST as $key => $value) {
            $message .= $key . '->' . $value . "\n";
        }
        mail($purch_log_email, 'ipn systempay cyberplus', $message);
        $wpcb_systempaycyberplus = get_option('wpcb_systempaycyberplus');
        $control = Check_Signature(uncharm($_POST), $wpcb_systempaycyberplus['certificat']);
        if ($control == 'true') {
            $sessionid = $_POST['vads_order_id'];
            if ($_POST['vads_result'] == "00") {
                switch ($_POST['vads_auth_mode']) {
                    case "FULL":
                        $wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed`= '3' WHERE `sessionid`=" . $sessionid);
                        $purchase_log = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`= " . $sessionid . " LIMIT 1", ARRAY_A);
                        // Ne pas enlever car global !
                        $wpsc_cart->empty_cart();
                        // Peut-être faut-il ici decrease stock ???
                        // redirect ->
                        transaction_results($sessionid, false);
                        break;
                    case "MARK":
                        break;
                }
            } else {
                //failed
                $wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed`= '5' WHERE `sessionid`=" . $sessionid);
                $wpsc_cart->empty_cart();
                //http://matale.fr/?cbListener=systempay_cyberplus&mode=test
            }
        } else {
            mail($purch_log_email, 'ipn systempay cyberplus signature non valide', $message);
        }
        if ($transauthorised == false) {
        }
    } elseif ($_GET['ipn'] == 'paypal') {
        $wpcb_paypal = get_option('wpcb_paypal');
        // Initialisation du chemin du fichier de log :
        error_reporting(E_ALL ^ E_NOTICE);
        $header = "";
        $emailtext = "";
        // Read the post from PayPal and add 'cmd'
        $req = 'cmd=_notify-validate';
        if (function_exists('get_magic_quotes_gpc')) {
            $get_magic_quotes_exits = true;
        }
        foreach ($_POST as $key => $value) {
            // Handle escape characters, which depends on setting of magic quotes
            if ($get_magic_quotes_exists == true && get_magic_quotes_gpc() == 1) {
                $value = urlencode(stripslashes($value));
            } else {
                $value = urlencode($value);
            }
            $req .= "&{$key}={$value}";
        }
        // Post back to PayPal to validate
        $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
        $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
        $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
        if ($wpcb_paypal['sandbox_paypal']) {
            $fp = fsockopen('ssl://sandbox.paypal.com', 443, $errno, $errstr, 30);
        } else {
            $fp = fsockopen('ssl://www.paypal.com', 443, $errno, $errstr, 30);
        }
        // Process validation from PayPal
        if (!$fp) {
            // HTTP ERROR
        } else {
            // NO HTTP ERROR
            fputs($fp, $header . $req);
            while (!feof($fp)) {
                $res = fgets($fp, 1024);
                if (strcmp($res, "VERIFIED") == 0) {
                    if ($_POST['payment_status'] == 'Completed') {
                        if (WP_DEBUG) {
                            wp_mail($purch_log_email, "IPN Completed Payement", $req);
                        }
                        $sessionid = $_POST['item_number'];
                        $wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed`= '3' WHERE `sessionid`=" . $sessionid);
                        $purchase_log = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`= " . $sessionid . " LIMIT 1", ARRAY_A);
                        transaction_results($sessionid, false);
                        // false -> no echo !
                    }
                    //End if completed
                } elseif (strcmp($res, "INVALID") == 0) {
                    // If 'INVALID', send an email. TODO: Log for manual investigation.
                    if (WP_DEBUG) {
                        wp_mail($purch_log_email, "Live-INVALID IPN", $req);
                    }
                    $wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed`= '5' WHERE `sessionid`=" . $sessionid);
                }
            }
            fclose($fp);
        }
    }
    // fin du ipn=paypal
}
示例#7
0
        logout($APP_URL);
        break;
    case 'request_token':
        $_SESSION['REQUEST_TOKEN'] = serialize($consumer->fetchRequestToken(implode(' ', $scopes), $APP_URL . '?action=access_token'));
        $consumer->authorizeRequestToken();
        break;
    case 'access_token':
        $_SESSION['ACCESS_TOKEN'] = serialize($consumer->fetchAccessToken());
        header('Location: ' . $APP_URL);
        break;
    default:
        if (isset($_SESSION['ACCESS_TOKEN'])) {
            $accessToken = unserialize($_SESSION['ACCESS_TOKEN']);
            $httpClient = $accessToken->getHttpClient($consumer->getOauthOptions());
            $docsService = new Zend_Gdata_Docs($httpClient, $APP_NAME);
            $spreadsheetsService = new Zend_Gdata_Spreadsheets($httpClient, $APP_NAME);
            // Retrieve user's list of Google Docs and spreadsheet list.
            $docsFeed = $docsService->getDocumentListFeed();
            $spreadsheetFeed = $spreadsheetsService->getSpreadsheetFeed('http://spreadsheets.google.com/feeds/spreadsheets/private/full?max-results=100');
            renderHTML($accessToken, array($docsFeed, $spreadsheetFeed));
        } else {
            renderHTML();
        }
}
/**
 * Returns a the base URL of the current running web app.
 *
 * @return string
 */
function getAppURL()
{
示例#8
0
文件: comm.php 项目: jcothran/xenia
// front end options
$frontendOptions = array('lifetime' => NULL);
// backend options
$backendOptions = array('cache_dir' => $cache_dir);
@mkdir($cache_dir, 0700, true);
// make cache object
$cache = Zend_Cache::factory('Output', 'File', $frontendOptions, $backendOptions);
if (!$cache->start($post_col)) {
    // load Zend Gdata libraries
    Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    try {
        // connect to API
        $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
        $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
        $service = new Zend_Gdata_Spreadsheets($client);
        // define worksheet query
        // get list feed for query
        $query = new Zend_Gdata_Spreadsheets_ListQuery();
        $query->setSpreadsheetKey($spreadhsheet_key);
        $query->setWorksheetId($people_wksht);
    } catch (Exception $e) {
        die('ERROR: ' . $e->getMessage());
    }
    ?>

<?php 
    function labelBOD($entry)
    {
        if ($entry->getCustomByName('bodindustryprivatesector') == 'Y' || $entry->getCustomByName('bodacademicresearcheducationsector') == 'Y' || $entry->getCustomByName('bodpublicagenciesnonprofitothersector') == 'Y' || $entry->getCustomByName('bodatlarge') == 'Y' || $entry->getCustomByName('bodpublicseat') == 'Y' || $entry->getCustomByName('bodaffiliateseat') == 'Y' || $entry->getCustomByName('bodsustainingseat') == 'Y') {
            return ' (B)';
示例#9
0
// http://framework.zend.com/downloads/latest
// http://www.jazzerup.com/blog/google-spreadsheets-api-php-zend
// http://stackoverflow.com/questions/7455239/error-inserting-row-in-google-spreadsheet-using-zend-gdata
// Include the loader and Google API classes for spreadsheets
// Install Zend Framework from above url, add to php.ini include path
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
Zend_Loader::loadClass('Zend_Http_Client');
// Set your Google Docs credentials here
$user = '******';
$pass = '******';
$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
$feed = $spreadsheetService->getSpreadsheetFeed();
// This is not the url displayed when logged in to Goolge Docs, because
// that would just make sense. Oh, no - instead it has to be abstracted
// away in the object. This is the feed url.
$sheetName = "Sheet1";
foreach ($feed->entries as $entry) {
    if ($entry->title->text == $sheetName) {
        $spreadsheetURL = $entry->id;
        echo "SpreadsheetURL is: {$spreadsheetURL} <br /> \n";
        break;
    }
}
$spreadsheetKey = basename($spreadsheetURL);
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
$query->setSpreadsheetKey($spreadsheetKey);
示例#10
0
function gdata_import($attrib)
{
    if ($attrib["key"] == "" || $attrib["worksheet"] == "" || $attrib["user"] == "" || $attrib["pass"] == "") {
        echo 'ERROR: SET ALL ATTRIBUTES i.e sheet, worksheet, user, pass and columns. ';
        return;
    }
    // load Zend Gdata libraries
    set_include_path(get_include_path() . PATH_SEPARATOR . WP_PLUGIN_DIR . "//gdata-importer//");
    require_once 'Zend/Loader.php';
    Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    // set credentials for ClientLogin authentication
    $user = $attrib["user"];
    $pass = $attrib["pass"];
    try {
        // connect to API
        $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
        $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
        $service = new Zend_Gdata_Spreadsheets($client);
        // get spreadsheet entry
        $ssEntry = $service->getSpreadsheetEntry('https://spreadsheets.google.com/feeds/spreadsheets/' . $attrib["key"]);
        // get worksheets in this spreadsheet
        $wsFeed = $ssEntry->getWorksheets($attrib["worksheet"]);
    } catch (Exception $e) {
        echo 'ERROR: ' . $e->getMessage();
        return;
    }
    $content = <<<HTML
\t<table>
HTML;
    foreach ($wsFeed as $wsEntry) {
        if ($wsEntry->getTitle() == $attrib["worksheet"]) {
            //get title
            $query = new Zend_Gdata_Spreadsheets_CellQuery();
            $query->setSpreadsheetKey($attrib["key"]);
            $id = $wsEntry->getId();
            $arr = explode('/', $id);
            $query->setWorksheetId($arr[sizeof($arr) - 1]);
            $query->setMinRow(1);
            $query->setMaxRow(1);
            $cellFeed = $service->getCellFeed($query);
            $content = $content . "<tr>";
            foreach ($cellFeed as $cellEntry) {
                $content = $content . "<td>" . $cellEntry->getCell()->getText() . "</td>";
            }
            $content = $content . "</tr>";
            //get content
            $rows = $wsEntry->getContentsAsRows();
            foreach ($rows as $row) {
                $content = $content . "<tr>";
                foreach ($row as $key => $value) {
                    $content = $content . "<td>" . $value . "</td>";
                }
                $content = $content . "</tr>";
            }
        }
    }
    $content = $content . <<<HTML
\t\t</tbody>
\t</table>
HTML;
    return $content;
}
 public function testInsertUpdateDeleteRow3()
 {
     $rowData = array();
     $rowData['a1'] = 'new';
     $rowData['b1'] = 'row';
     $rowData['c1'] = 'data';
     $rowData['d1'] = 'here';
     $entry = $this->gdata->insertRow($rowData, $this->sprKey);
     $rowData['a1'] = 'newer';
     $entry = $this->gdata->updateRow($entry, $rowData);
     $ssTest = new Zend_Gdata_Spreadsheets($entry->getHttpClient());
     $ssTest->delete($entry);
 }
示例#12
0
 public function insertRow($payload)
 {
     return $this->spreadsheetService->insertRow($payload, $this->spreadsheetId);
 }
示例#13
0
  </head>
  <body>
    <?php 
//die("here");
// load Zend Gdata libraries
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
// set credentials for ClientLogin authentication
$user = "******";
$pass = "******";
try {
    // connect to API
    $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
    $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
    $service = new Zend_Gdata_Spreadsheets($client);
    // get spreadsheet entry
    die($ssEntry . "am there");
    $ssEntry = $service->getSpreadsheetEntry('https://docs.google.com/a/kcn.unima.mw/spreadsheet/ccc?key=0AumyFvx6NCRWdHRsUTFLYnBRcThmQ0RpaGwtOU1BNUE#gid=0');
    // get worksheet feed for this spreadsheet
    $wsFeed = $service->getWorksheetFeed($ssEntry);
    // create new entry
    $wsEntry = new Zend_Gdata_Spreadsheets_WorksheetEntry();
    $title = new Zend_Gdata_App_Extension_Title('Jan 2011');
    $wsEntry->setTitle($title);
    $row = new Zend_Gdata_Spreadsheets_Extension_RowCount('10');
    $wsEntry->setRowCount($row);
    $col = new Zend_Gdata_Spreadsheets_Extension_ColCount('10');
    $wsEntry->setColumnCount($col);
    // insert entry
    $entryResult = $service->insertEntry($wsEntry, $wsFeed->getLink('self')->getHref());
示例#14
0
 * @subpackage Demos
 * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
Zend_Loader::loadClass('Zend_Gdata_App_AuthException');
Zend_Loader::loadClass('Zend_Http_Client');
try {
    $client = Zend_Gdata_ClientLogin::getHttpClient($email, $password, Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME);
} catch (Zend_Gdata_App_AuthException $ae) {
    exit("Error Connecting");
}
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
//$query->setSpreadsheetKey($spreadsheetKey);
//$feed = $spreadsheetService->getWorksheetFeed($query);
$feed = $spreadsheetService->getSpreadsheetFeed($query);
foreach ($feed->entries as $entry) {
    echo $entry->id->text;
    echo "<br>";
    echo $entry->title->text;
}
/*
foreach($feed->entries as $entry){
			$wkshtId = explode('/', $entry->id->text);
			echo $wkshtId[8];
			echo $entry->title->text;
		}
 /**
  * Returns the worksheets in this spreadsheet
  *
  * @return Zend_Gdata_Spreadsheets_WorksheetFeed The worksheets
  */
 public function getWorksheets()
 {
     $service = new Zend_Gdata_Spreadsheets($this->getHttpClient());
     return $service->getWorksheetFeed($this);
 }
 /**
  * Returns the content of all cells as an associative array, indexed 
  * off the cell location  (ie 'A1', 'D4', etc).  Each element of 
  * the array is an associative array with a 'value' and a 'function'.  
  * Only non-empty cells are returned by default.  'range' is the 
  * value of the 'range' query parameter specified at:
  * http://code.google.com/apis/spreadsheets/reference.html#cells_Parameters
  *
  * @param string $range The range of cells to retrieve
  * @param boolean $empty Whether to retrieve empty cells
  * @return array An associative array of cells
  */
 public function getContentsAsCells($range = null, $empty = false)
 {
     $service = new Zend_Gdata_Spreadsheets($this->getHttpClient());
     return $service->getSpreadsheetCellFeedContents($this, $range, $empty);
 }
示例#17
0
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
/**
 * @see Zend_Gdata_Docs
 */
Zend_Loader::loadClass('Zend_Gdata_Docs');
/**
 * @see Zend_Gdata_ClientLogin
 */
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
/**
 * @see Zend_Gdata_Spreadsheets
 */
Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
$authService = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$httpClient = Zend_Gdata_ClientLogin::getHttpClient('*****@*****.**', 'internet21', $authService);
$gdClient = new Zend_Gdata_Spreadsheets($httpClient);
$query = new Zend_Gdata_Spreadsheets_CellQuery();
$query->setSpreadsheetKey('0AlkFQsJI6D_7dEZOVXlTeDNYOGsyNVNWalNLdWdDU2c');
$query->setWorksheetId(3);
$query->setMinCol(3);
$query->setMaxCol(3);
$query->setMinRow(17);
$query->setMaxRow(17);
$feed = $gdClient->getCellFeed($query);
$entry = $gdClient->updateCell(16, 4, $_GET['precio'], '0AlkFQsJI6D_7dEZOVXlTeDNYOGsyNVNWalNLdWdDU2c', 3);
$entry = $gdClient->updateCell(17, 4, $_GET['enganche'], '0AlkFQsJI6D_7dEZOVXlTeDNYOGsyNVNWalNLdWdDU2c', 3);
$entry = $gdClient->updateCell(13, 9, $_GET['anio'], '0AlkFQsJI6D_7dEZOVXlTeDNYOGsyNVNWalNLdWdDU2c', 3);
$entry = $gdClient->updateCell(13, 3, $_GET['marca'], '0AlkFQsJI6D_7dEZOVXlTeDNYOGsyNVNWalNLdWdDU2c', 3);
$entry = $gdClient->updateCell(14, 3, $_GET['linea'], '0AlkFQsJI6D_7dEZOVXlTeDNYOGsyNVNWalNLdWdDU2c', 3);
$i = 0;
foreach ($feed->entries as $entry) {