Difference between revisions of "ScalixMailGoogleGadget"
From Scalix Wiki
m (ScalixMailGoogleGadget ScalixMailGoogleGadget.php moved to ScalixMailGoogleGadget: Used wrong name) |
|||
Line 18: | Line 18: | ||
// Modify the three fields below... | // Modify the three fields below... | ||
− | $user=""; | + | $user=""; |
− | $password=""; | + | $password=""; |
$url=""; //http://<myscalix.org>/api/<mailbox@myscalix.com>/mailbox/INBOX/?output=rss | $url=""; //http://<myscalix.org>/api/<mailbox@myscalix.com>/mailbox/INBOX/?output=rss | ||
// replace <myscalix.org> and <mailbox@myscalix.com> according to your settings | // replace <myscalix.org> and <mailbox@myscalix.com> according to your settings | ||
Line 85: | Line 85: | ||
$http->authentication_mechanism=""; // force a given authentication mechanism; | $http->authentication_mechanism=""; // force a given authentication mechanism; | ||
+ | /* | ||
+ | * If you need to access a site using a proxy server, use these | ||
+ | * arguments to set the proxy host and authentication credentials if | ||
+ | * necessary. | ||
+ | */ | ||
+ | /* | ||
+ | $arguments["ProxyHostName"]="127.0.0.1"; | ||
+ | $arguments["ProxyHostPort"]=3128; | ||
+ | $arguments["ProxyUser"]="proxyuser"; | ||
+ | $arguments["ProxyPassword"]="proxypassword"; | ||
+ | $arguments["ProxyRealm"]="proxyrealm"; // Proxy authentication realm or domain | ||
+ | $arguments["ProxyWorkstation"]="proxyrealm"; // Workstation for NTLM proxy authentication | ||
+ | $http->proxy_authentication_mechanism=""; // force a given proxy authentication mechanism; | ||
+ | */ | ||
+ | |||
+ | /* Set additional request headers */ | ||
+ | $arguments["Headers"]["Pragma"]="nocache"; | ||
+ | |||
+ | // Do basic authentication | ||
$arguments["Headers"]["Authorization"]="Basic ".$base64; | $arguments["Headers"]["Authorization"]="Basic ".$base64; | ||
+ | /* | ||
+ | Is it necessary to specify a certificate to access a page via SSL? | ||
+ | Specify the certificate file this way. | ||
+ | $arguments["SSLCertificateFile"]="my_certificate_file.pem"; | ||
+ | $arguments["SSLCertificatePassword"]="some certificate password"; | ||
+ | */ | ||
+ | /* | ||
+ | Is it necessary to preset some cookies? | ||
+ | Just use the SetCookie function to set each cookie this way: | ||
+ | $cookie_name="LAST_LANG"; | ||
+ | $cookie_value="de"; | ||
+ | $cookie_expires="2010-01-01 00:00:00"; // "" for session cookies | ||
+ | $cookie_uri_path="/"; | ||
+ | $cookie_domain=".php.net"; | ||
+ | $cookie_secure=0; // 1 for SSL only cookies | ||
+ | $http->SetCookie($cookie_name, $cookie_value, $cookie_expiry, $cookie_uri_path, $cookie_domain, $cookie_secure); | ||
+ | */ | ||
$error=$http->Open($arguments); | $error=$http->Open($arguments); | ||
Line 128: | Line 164: | ||
if(strlen($error)) | if(strlen($error)) | ||
//echo "<CENTER><H2>Error: ",$error,"</H2><CENTER>\n"; | //echo "<CENTER><H2>Error: ",$error,"</H2><CENTER>\n"; | ||
− | ?></pre> | + | ?> |
+ | |||
+ | </pre> |
Revision as of 19:39, 15 July 2007
Copy/paste the code below in a text editor and save the file with .php extension (for example ScalixMailGoogleGadget.php) Modify the three fields ($user, $password, $url) at the beginning of this file
<?php /* * test_http.php * * @(#) $Header: /home/mlemos/cvsroot/http/test_http.php,v 1.14 2004/12/09 00:53:48 mlemos Exp $ * */ ?> <?php require("http.php"); require("sasl.php"); // Modify the three fields below... $user=""; $password=""; $url=""; //http://<myscalix.org>/api/<mailbox@myscalix.com>/mailbox/INBOX/?output=rss // replace <myscalix.org> and <mailbox@myscalix.com> according to your settings set_time_limit(0); $http=new http_class; /* Connection timeout */ $http->timeout=0; /* Data transfer timeout */ $http->data_timeout=0; /* Output debugging information about the progress of the connection */ $http->debug=0; /* Format dubug output to display with HTML pages */ $http->html_debug=0; /* * Need to emulate a certain browser user agent? * Set the user agent this way: */ //$http->user_agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; /* * If you want to the class to follow the URL of redirect responses * set this variable to 1. */ $http->follow_redirect=1; /* * How many consecutive redirected requests the class should follow. */ $http->redirection_limit=5; /* * If your DNS always resolves non-existing domains to a default IP * address to force the redirection to a given page, specify the * default IP address in this variable to make the class handle it * as when domain resolution fails. */ $http->exclude_address=""; /* * If basic authentication is required, specify the user name and * password in these variables. */ $base64=base64_encode($user.":".$password); /* * Generate a list of arguments for opening a connection and make an * HTTP request from a given URL. */ $error=$http->GetRequestArguments($url,$arguments); if(strlen($realm)) $arguments["AuthRealm"]=$realm; if(strlen($workstation)) $arguments["AuthWorkstation"]=$workstation; $http->authentication_mechanism=""; // force a given authentication mechanism; /* * If you need to access a site using a proxy server, use these * arguments to set the proxy host and authentication credentials if * necessary. */ /* $arguments["ProxyHostName"]="127.0.0.1"; $arguments["ProxyHostPort"]=3128; $arguments["ProxyUser"]="proxyuser"; $arguments["ProxyPassword"]="proxypassword"; $arguments["ProxyRealm"]="proxyrealm"; // Proxy authentication realm or domain $arguments["ProxyWorkstation"]="proxyrealm"; // Workstation for NTLM proxy authentication $http->proxy_authentication_mechanism=""; // force a given proxy authentication mechanism; */ /* Set additional request headers */ $arguments["Headers"]["Pragma"]="nocache"; // Do basic authentication $arguments["Headers"]["Authorization"]="Basic ".$base64; /* Is it necessary to specify a certificate to access a page via SSL? Specify the certificate file this way. $arguments["SSLCertificateFile"]="my_certificate_file.pem"; $arguments["SSLCertificatePassword"]="some certificate password"; */ /* Is it necessary to preset some cookies? Just use the SetCookie function to set each cookie this way: $cookie_name="LAST_LANG"; $cookie_value="de"; $cookie_expires="2010-01-01 00:00:00"; // "" for session cookies $cookie_uri_path="/"; $cookie_domain=".php.net"; $cookie_secure=0; // 1 for SSL only cookies $http->SetCookie($cookie_name, $cookie_value, $cookie_expiry, $cookie_uri_path, $cookie_domain, $cookie_secure); */ $error=$http->Open($arguments); if($error=="") { $error=$http->SendRequest($arguments); if($error=="") { $headers=array(); $error=$http->ReadReplyHeaders($headers); if($error=="") { switch($http->response_status) { case "301": case "302": case "303": case "307": echo " (redirect to <TT>".$headers["location"]."</TT>)<BR>\nSet the <TT>follow_redirect</TT> variable to handle redirect responses automatically."; break; } for(;;) { $error=$http->ReadReplyBody($body,1000); if($error!="" || strlen($body)==0) break; echo $body; } flush(); } } $http->Close(); } if(strlen($error)) //echo "<CENTER><H2>Error: ",$error,"</H2><CENTER>\n"; ?>