[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pear-cvs
Subject:    [PEAR-CVS] svn: /pear/packages/Services_Yadis/trunk/ Yadis/Xrds/Service.php Yadis/Xrds.php Yadis/Xri
From:       Bill_Shupp <shupp () php ! net>
Date:       2009-10-29 5:46:30
Message-ID: svn-shupp-1256795190-290041-922755534 () svn ! php ! net
[Download RAW message or body]

shupp                                    Thu, 29 Oct 2009 05:46:30 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=290041

Log:
Got existing XRI code working.

Changed paths:
    U   pear/packages/Services_Yadis/trunk/Yadis/Xrds/Service.php
    U   pear/packages/Services_Yadis/trunk/Yadis/Xrds.php
    U   pear/packages/Services_Yadis/trunk/Yadis/Xri.php
    U   pear/packages/Services_Yadis/trunk/Yadis.php
    U   pear/packages/Services_Yadis/trunk/generate_package_xml.php
    U   pear/packages/Services_Yadis/trunk/package.xml
    U   pear/packages/Services_Yadis/trunk/test.php


["svn-diffs-290041.txt" (text/x-diff)]

Modified: pear/packages/Services_Yadis/trunk/Yadis/Xrds/Service.php
===================================================================
--- pear/packages/Services_Yadis/trunk/Yadis/Xrds/Service.php	2009-10-29 02:49:43 UTC \
                (rev 290040)
+++ pear/packages/Services_Yadis/trunk/Yadis/Xrds/Service.php	2009-10-29 05:46:30 UTC \
(rev 290041) @@ -197,4 +197,4 @@
         $this->_services[$servicePriority][] = $service;
     }

-}
\ No newline at end of file
+}

Modified: pear/packages/Services_Yadis/trunk/Yadis/Xrds.php
===================================================================
--- pear/packages/Services_Yadis/trunk/Yadis/Xrds.php	2009-10-29 02:49:43 UTC (rev \
                290040)
+++ pear/packages/Services_Yadis/trunk/Yadis/Xrds.php	2009-10-29 05:46:30 UTC (rev \
290041) @@ -178,7 +178,25 @@
         if (array_key_exists('xrd', $namespaces) && $namespaces['xrd'] != \
'xri://$xrd*($v*2.0)') {  return null;
         } elseif (array_key_exists('', $namespaces) && $namespaces[''] != \
                'xri://$xrd*($v*2.0)') {
-            return null;
+            // Hack for the namespace declaration in the XRD node, which SimpleXML \
misses +            $xrdHack = false;
+            if (!isset($xrds->XRD)) {
+                return null;
+            }
+
+            foreach ($xrds->XRD as $xrd) {
+                $namespaces = $xrd->getNamespaces();
+                if (array_key_exists('', $namespaces)
+                    && $namespaces[''] == 'xri://$xrd*($v*2.0)') {
+
+                    $xrdHack = true;
+                    break;
+                }
+            }
+
+            if (!$xrdHack) {
+                return null;
+            }
         }

         /**
@@ -220,4 +238,4 @@
         return $flattened;
     }

-}
\ No newline at end of file
+}

Modified: pear/packages/Services_Yadis/trunk/Yadis/Xri.php
===================================================================
--- pear/packages/Services_Yadis/trunk/Yadis/Xri.php	2009-10-29 02:49:43 UTC (rev \
                290040)
+++ pear/packages/Services_Yadis/trunk/Yadis/Xri.php	2009-10-29 05:46:30 UTC (rev \
290041) @@ -309,11 +309,11 @@
         $id                = $xrds->xpath('//xrd:CanonicalID[last()]');
         $this->canonicalID = (string)array_shift($id);
         if (!$this->canonicalID) {
-            return false;
+            throw new Services_Yadis_Exception(
+                'Unable to determine canonicalID'
+            );
         }
-        throw new Exception('Not yet implemented');
-        //var_dump($canonicalIds . __FILE__.__LINE__); exit;
-        return $this->canonicalID;
+        return $xrds;
     }

     /**
@@ -332,7 +332,8 @@
                 'Unable to get a Canonical Id since no XRI value has been set'
             );
         }
-        return $this->toCanonicalId($this->xri);
+        $this->toCanonicalId($this->xri);
+        return $this->canonicalID;
     }

     /**

Modified: pear/packages/Services_Yadis/trunk/Yadis.php
===================================================================
--- pear/packages/Services_Yadis/trunk/Yadis.php	2009-10-29 02:49:43 UTC (rev 290040)
+++ pear/packages/Services_Yadis/trunk/Yadis.php	2009-10-29 05:46:30 UTC (rev 290041)
@@ -306,10 +306,6 @@

             $xri->setHttpRequestOptions($this->getHttpRequestOptions());
             $this->yadisUrl = $xri->setNamespace($this->namespace)->toUri($yadisId);
-
-            $cid = Services_Yadis_Xri::getInstance()->getCanonicalId();
-            // not cool but it's a future enhancement
-            exit(__LINE__ .' '. 'Services/Yadis.php' . '\nNot implemented yet');
             return $this;
         }

@@ -407,6 +403,14 @@
         $request      = null;
         $xrdStatus    = false;

+        // Check XRI first
+        if (in_array($this->yadisId[0], $this->xriIdentifiers)) {
+            $xri  = Services_Yadis_Xri::getInstance();
+            $xrds = $xri->toCanonicalID($xri->getXri());
+            echo $xrds->asXML();exit;
+            return new Services_Yadis_Xrds_Service($xrds, $this->namespace);
+        }
+
         while ($xrdsDocument === null) {
             $request = $this->get($currentUri);
             if (!$this->metaHttpEquivResponse) {

Modified: pear/packages/Services_Yadis/trunk/generate_package_xml.php
===================================================================
--- pear/packages/Services_Yadis/trunk/generate_package_xml.php	2009-10-29 02:49:43 \
                UTC (rev 290040)
+++ pear/packages/Services_Yadis/trunk/generate_package_xml.php	2009-10-29 05:46:30 \
UTC (rev 290041) @@ -5,7 +5,7 @@
 $packagefile = dirname(__FILE__) . '/package.xml';

 $options = array(
-    'filelistgenerator' => 'cvs',
+    'filelistgenerator' => 'svn',
     'changelogoldtonew' => false,
     'simpleoutput'      => true,
     'baseinstalldir'    => 'Services',
@@ -30,8 +30,7 @@
 $packagexml->setChannel('pear.php.net');

 $notes = <<<EOT
-* Fixed Bug #15683
-* Fixed Bug #15804
+* Enabled existing XRI support (first pass)
 EOT;
 $packagexml->setNotes($notes);

@@ -41,6 +40,8 @@
 $packagexml->addPackageDepWithChannel('required', 'HTTP_Request', 'pear.php.net');
 $packagexml->addPackageDepWithChannel('required', 'Validate', 'pear.php.net');
 $packagexml->addExtensionDep('required', 'simplexml');
+$packagexml->addExtensionDep('required', 'date');
+$packagexml->addExtensionDep('required', 'dom');

 $packagexml->addMaintainer('lead', 'shupp', 'Bill Shupp', 'shupp@php.net');
 $packagexml->setLicense('New BSD License', \
'http://opensource.org/licenses/bsd-license.php'); @@ -48,8 +49,8 @@
 $packagexml->addRelease();
 $packagexml->generateContents();

-$packagexml->setAPIVersion('0.2.1');
-$packagexml->setReleaseVersion('0.2.3');
+$packagexml->setAPIVersion('0.3.0');
+$packagexml->setReleaseVersion('0.3.0');
 $packagexml->setReleaseStability('beta');
 $packagexml->setAPIStability('beta');


Modified: pear/packages/Services_Yadis/trunk/package.xml
===================================================================
--- pear/packages/Services_Yadis/trunk/package.xml	2009-10-29 02:49:43 UTC (rev \
                290040)
+++ pear/packages/Services_Yadis/trunk/package.xml	2009-10-29 05:46:30 UTC (rev \
290041) @@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<package packagerversion="1.8.1" version="2.0" \
xmlns="http://pear.php.net/dtd/package-2.0" \
xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" \
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \
xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0     \
http://pear.php.net/dtd/tasks-1.0.xsd     http://pear.php.net/dtd/package-2.0     \
http://pear.php.net/dtd/package-2.0.xsd"> +<package packagerversion="1.9.0" \
version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" \
xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" \
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \
xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 +    \
http://pear.php.net/dtd/tasks-1.0.xsd +    http://pear.php.net/dtd/package-2.0
+    http://pear.php.net/dtd/package-2.0.xsd">
  <name>Services_Yadis</name>
  <channel>pear.php.net</channel>
  <summary>Implementation of the Yadis Specification 1.0 protocol for PHP5.</summary>
@@ -10,17 +13,11 @@
   <email>shupp@php.net</email>
   <active>yes</active>
  </lead>
- <lead>
-  <name>Pádraic Brady</name>
-  <user>padraic</user>
-  <email>padraic@php.net</email>
-  <active>no</active>
- </lead>
- <date>2009-05-29</date>
- <time>20:02:05</time>
+ <date>2009-10-28</date>
+ <time>21:19:33</time>
  <version>
-  <release>0.2.3</release>
-  <api>0.2.1</api>
+  <release>0.3.0</release>
+  <api>0.3.0</api>
  </version>
  <stability>
   <release>beta</release>
@@ -28,8 +25,7 @@
  </stability>
  <license uri="http://opensource.org/licenses/bsd-license.php">New BSD \
License</license>  <notes>
-* Fixed Bug #15683
-* Fixed Bug #15804
+* Enabled existing XRI support (first pass)
  </notes>
  <contents>
   <dir baseinstalldir="Services" name="/">
@@ -81,76 +77,33 @@
     <name>Validate</name>
     <channel>pear.php.net</channel>
    </package>
-   <package>
-    <name>PEAR</name>
-    <channel>pear.php.net</channel>
-    <min>1.3.6</min>
-   </package>
-   <package>
-    <name>HTTP_Request</name>
-    <channel>pear.php.net</channel>
-   </package>
-   <package>
-    <name>Validate</name>
-    <channel>pear.php.net</channel>
-   </package>
    <extension>
     <name>simplexml</name>
    </extension>
    <extension>
-    <name>simplexml</name>
+    <name>date</name>
    </extension>
+   <extension>
+    <name>dom</name>
+   </extension>
   </required>
  </dependencies>
  <phprelease />
  <changelog>
   <release>
    <version>
-    <release>0.2.3</release>
-    <api>0.2.3</api>
+    <release>0.3.0</release>
+    <api>0.3.0</api>
    </version>
    <stability>
     <release>beta</release>
     <api>beta</api>
    </stability>
-   <date>2009-05-29</date>
+   <date>2009-10-28</date>
    <license uri="http://opensource.org/licenses/bsd-license.php">New BSD \
License</license>  <notes>
-* Fixed Bug #15683
-* Fixed Bug #15804
+* Enabled existing XRI support (first pass)
    </notes>
   </release>
-  <release>
-   <version>
-    <release>0.2.2</release>
-    <api>0.2.1</api>
-   </version>
-   <stability>
-    <release>beta</release>
-    <api>beta</api>
-   </stability>
-   <date>2008-12-07</date>
-   <license uri="http://opensource.org/licenses/bsd-license.php">New BSD \
                License</license>
-   <notes>
-Request #12226 - Renamed AllTests (PHPUnit3 / PEAR wide test suite)
-Bug #12973 Broken code in Yadis.php, lines 305-307
-Bug #12974 Fatal error: Call to undefined method Services_Yadis::_getHttpRequest()
-   </notes>
-  </release>
-  <release>
-   <version>
-    <release>0.2.1</release>
-    <api>0.2.1</api>
-   </version>
-   <stability>
-    <release>beta</release>
-    <api>beta</api>
-   </stability>
-   <date>2007-09-30</date>
-   <license uri="http://opensource.org/licenses/bsd-license.php">New BSD \
                License</license>
-   <notes>
-* Fixed base directory install issue
-   </notes>
-  </release>
  </changelog>
 </package>

Modified: pear/packages/Services_Yadis/trunk/test.php
===================================================================
--- pear/packages/Services_Yadis/trunk/test.php	2009-10-29 02:49:43 UTC (rev 290040)
+++ pear/packages/Services_Yadis/trunk/test.php	2009-10-29 05:46:30 UTC (rev 290041)
@@ -3,10 +3,11 @@
 set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path());

 require_once 'Services/Yadis.php';
-$yadis = new Services_Yadis('http://padraic.astrumfutura.com');
+// $yadis = new Services_Yadis('http://www.yahoo.com/');
+$yadis = new Services_Yadis('=self*shupp');
 $serviceList = $yadis->discover();
 foreach ($serviceList as $service) {
     $types = $service->getTypes();
     echo $types[0], ' at ', implode(', ', $service->getUris()), PHP_EOL;
     echo 'Priority is ', $service->getPriority(), PHP_EOL;
-}
\ No newline at end of file
+}



-- 
PEAR CVS Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic