cvs: pear /Services_Hatena Hatena.php package.xml

From: Date: Wed, 22 Mar 2006 16:06:33 +0000
Subject: cvs: pear /Services_Hatena Hatena.php package.xml
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-39241@lists.php.net to get a copy of this message
makoto Wed Mar 22 16:06:33 2006 UTC Added files: /pear/Services_Hatena Hatena.php package.xml Log: Initial commit

http://cvs.php.net/viewcvs.cgi/pear/Services_Hatena/Hatena.php?view=markup&rev=1.1 Index: pear/Services_Hatena/Hatena.php +++ pear/Services_Hatena/Hatena.php <?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** * Services_Hatena Dispatcher * * PHP version 5 * * LICENSE: This source file is subject to version 3.0 of the PHP license * that is available through the world-wide-web at the following URI: * http://www.php.net/license/3_0.txt. If you did not receive a copy of * the PHP License and are unable to obtain it through the web, please * send a note to license@php.net so we can mail you a copy immediately. * * @category Services * @package Services_Hatena * @author Makoto Tanaka * @copyright 2006 Makoto Tanaka * @license http://www.php.net/license/3_0.txt PHP License 3.0 * @version CVS: $Id: Hatena.php,v 1.1 2006/03/22 16:06:33 makoto Exp $ */ require_once 'PEAR.php'; require_once 'HTTP/Request.php'; /** * Services_Hatena * * This class serves method to store or get result. * This class is for creating object using Hatena's * Web Services API (search, autolink, bookmark, bookmarknum, foto, asin, similar,exist). * * @category Services * @package Services_Hatena * @author Makoto Tanaka * @copyright 2006 Makoto Tanaka * @license http://www.php.net/license/3_0.txt PHP License 3.0 * @version Release: 0.1.0 */ class Services_Hatena { /** * To store login object. * * @see hatena_login */ var $_login = null; /** * To store wsse. * * @see getWSSEAuth */ var $_wsse = null; /** * To store add url for atom API. */ var $addurl = null; /** * To store edit url for atom API. */ var $editurl = null; /** * hatena bookmark domain */ var $bookmark_url = 'b.hatena.ne.jp'; /** * hatena foto domain */ var $foto_url = 'f.hatena.ne.jp'; /** * hatena diary domain */ var $diary_url = 'd.hatena.ne.jp'; /** * factory class and return. * * @param string $type servics name (search, autolink, asin, bookmarknum, bookmark, similar, foto, exist) * @return object class object for using API. */ function factory($type) { switch ($type) { case 'Search' : // class for Search API case 'Autolink' : // class for autolink API case 'Bookmarknum' : // class for bookmarknum API case 'Asin' : // class for asin API case 'Similar' : // class for similar API case 'Bookmark' : // class for bookmark API case 'Foto' : // class for foto API case 'Exist' : // class for exist API require_once 'Services/Hatena/' . $type . '.php'; $classname = 'Services_Hatena_' . $type; if (class_exists($classname)) { return new $classname; } else { return PEAR::raiseError('missing the class.'); } break; default : return PEAR::raiseError('missing the class.'); break; } } /** * To login to hatena * * @param string $user user name * @param string $pass password */ function hatena_login($user, $pass) { $this->_wsse = $this->setWSSEAuth($user, $pass); } /** * Retrun wsse. * * @return string WSSE */ function getWSSEAuth() { return $this->_wsse; } /** * To create string for WSSE * * @param string $user user name * @param string $pass password * @return string WSSE */ function setWSSEAuth($user, $pass, $sha1 = false) { $nowtime = date('Y-m-d\TH:i:s\Z'); $nonce = pack('H*', sha1(md5(time()))); $digest = base64_encode(pack('H*', sha1($nonce.$nowtime.$pass))); $wsse = 'UsernameToken Username="'.$user.'", PasswordDigest="'.$digest.'", Created="'.$nowtime.'", Nonce="'.base64_encode($nonce).'"'; return $wsse; } } ?> http://cvs.php.net/viewcvs.cgi/pear/Services_Hatena/package.xml?view=markup&rev=1.1 Index: pear/Services_Hatena/package.xml +++ pear/Services_Hatena/package.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> <package version="1.0" packagerversion="1.4.7"> <name>Services_Hatena</name> <summary>WebServices for Hatena</summary> <description>Interface to Hatena&apos;s XML-API. feature, follows: It provides objects to operate Hatena&apos;s Bookmark or Fotolife service, and get information from Hatena Web Site. </description> <maintainers> <maintainer> <user>Makoto Tanaka</user> <name>Makoto Tanaka</name> <email>tanaka.makoto@gmail.com</email> <role>lead</role> </maintainer> </maintainers> <release> <version>0.1.0</version> <date>2006-03-21</date> <license>php</license> <state>alpha</state> <notes>We can use Hatena&apos;s Web Servies API with this package. i like Hatena. i want to say &quot;thank you&quot; to developer&apos;s member in Hatena. Because there was help of many people, I was able to make a package. Thanks for Mr.Shoma. </notes> <deps> <dep type="pkg" rel="ge" version="1.3.0" optional="no">PEAR</dep> <dep type="php" rel="ge" version="4.0.0" optional="no"/> <dep type="pkg" rel="ge" version="0.0.1" optional="no">Services_OpenSearch</dep> <dep type="pkg" rel="ge" version="1.1.0" optional="no">XML_RPC</dep> <dep type="pkg" rel="ge" version="1.3.0" optional="no">HTTP_Request</dep> </deps> <filelist> <dir name="/" baseinstalldir="Services"> <dir name="doc"> <dir name="examples"> <file role="doc" name="Hatena_Services_Example_01.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> </dir> <!-- /doc/examples --> <file role="doc" name="IDEAS"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="doc" name="MAINTAINERS"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="doc" name="STATUS"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="doc" name="TESTERS"> <replace type="package-info" from="@package_version@" to="version"/> </file> </dir> <!-- /doc --> <dir name="Hatena"> <file role="php" name="Asin.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="php" name="Autolink.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="php" name="Bookmark.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="php" name="Bookmarknum.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="php" name="Exist.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="php" name="Foto.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="php" name="Search.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="php" name="Similar.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> </dir> <!-- /Hatena --> <dir name="tests"> <file role="test" name="Asin.phpt"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="test" name="Autolink.phpt"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="test" name="Bookmarknum.phpt"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="test" name="Exist.phpt"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="test" name="Search.phpt"> <replace type="package-info" from="@package_version@" to="version"/> </file> <file role="test" name="Similar.phpt"> <replace type="package-info" from="@package_version@" to="version"/> </file> </dir> <!-- /tests --> <file role="php" name="Hatena.php"> <replace type="package-info" from="@package_version@" to="version"/> </file> </dir> <!-- / --> </filelist> </release> <changelog> <release> <version>0.1.0</version> <date>2006-03-21</date> <license>php</license> <state>alpha</state> <notes>We can use Hatena&apos;s Web Servies API with this package. i like Hatena. i want to say &quot;thank you&quot; to developer&apos;s member in Hatena. Because there was help of many people, I was able to make a package. Thanks for Mr.Shoma. </notes> </release> </changelog> </package>
« previous php.pear.cvs (#39241) next »