Permalink
Browse files

Initial Commit

  • Loading branch information...
0 parents commit 339bca4a5ab73a64924e3e0c25ca39183bed935e David Coallier committed Mar 31, 2010
Showing with 4,039 additions and 0 deletions.
  1. +135 −0 Services/Capsule.php
  2. +287 −0 Services/Capsule/Common.php
  3. +51 −0 Services/Capsule/Exception.php
  4. +279 −0 Services/Capsule/Kase.php
  5. +198 −0 Services/Capsule/Kase/Customfield.php
  6. +164 −0 Services/Capsule/Kase/History.php
  7. +79 −0 Services/Capsule/Kase/Milestone.php
  8. +125 −0 Services/Capsule/Kase/Party.php
  9. +126 −0 Services/Capsule/Kase/Tag.php
  10. +176 −0 Services/Capsule/Opportunity.php
  11. +197 −0 Services/Capsule/Opportunity/Customfield.php
  12. +164 −0 Services/Capsule/Opportunity/History.php
  13. +79 −0 Services/Capsule/Opportunity/Milestone.php
  14. +125 −0 Services/Capsule/Opportunity/Party.php
  15. +125 −0 Services/Capsule/Opportunity/Tag.php
  16. +124 −0 Services/Capsule/Organization.php
  17. +213 −0 Services/Capsule/Party.php
  18. +138 −0 Services/Capsule/Party/Cases.php
  19. +193 −0 Services/Capsule/Party/Customfield.php
  20. +158 −0 Services/Capsule/Party/History.php
  21. +154 −0 Services/Capsule/Party/Opportunity.php
  22. +80 −0 Services/Capsule/Party/People.php
  23. +125 −0 Services/Capsule/Party/Tag.php
  24. +133 −0 Services/Capsule/Person.php
  25. +98 −0 Services/Capsule/Resource.php
  26. +27 −0 Services_Capsule.tmproj
  27. +11 −0 examples/config.php.tpl
  28. +37 −0 examples/live/testopportunityupdate.php
  29. +21 −0 examples/opportunity/addopportunityhistorynote.php
  30. +21 −0 examples/opportunity/addopportunitytag.php
  31. +22 −0 examples/opportunity/deleteopportunitytag.php
  32. +24 −0 examples/opportunity/getanyopportunity.php
  33. +18 −0 examples/opportunity/getopportunity.php
  34. +20 −0 examples/opportunity/getopportunitytags.php
  35. +16 −0 examples/opportunity/listopportunities.php
  36. +23 −0 examples/party/getanyparty.php
  37. +19 −0 examples/party/getparty.php
  38. +18 −0 examples/party/getpartypeople.php
  39. +17 −0 examples/party/listparties.php
  40. +19 −0 examples/party/searchparties.php
@@ -0,0 +1,135 @@
+<?php
+/**
+ * +-----------------------------------------------------------------------+
+ * | Copyright (c) 2010, David Coallier |
+ * | All rights reserved. |
+ * | |
+ * | Redistribution and use in source and binary forms, with or without |
+ * | modification, are permitted provided that the following conditions |
+ * | are met: |
+ * | |
+ * | o Redistributions of source code must retain the above copyright |
+ * | notice, this list of conditions and the following disclaimer. |
+ * | o Redistributions in binary form must reproduce the above copyright |
+ * | notice, this list of conditions and the following disclaimer in the |
+ * | documentation and/or other materials provided with the distribution.|
+ * | o The names of the authors may not be used to endorse or promote |
+ * | products derived from this software without specific prior written |
+ * | permission. |
+ * | |
+ * | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
+ * | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
+ * | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
+ * | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
+ * | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
+ * | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
+ * | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
+ * | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
+ * | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
+ * | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
+ * | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+ * | |
+ * +-----------------------------------------------------------------------+
+ * | Author: David Coallier <david@echolibre.com> |
+ * +-----------------------------------------------------------------------+
+ *
+ * PHP version 5
+ *
+ * @category Services
+ * @package Services_Capsule
+ * @author David Coallier <david@echolibre.com>
+ * @copyright echolibre ltd. 2009-2010
+ * @license http://www.opensource.org/licenses/bsd-license.php The BSD License
+ * @link http://github.com/davidcoallier/Services_Capsule
+ * @version GIT: $Id$
+ */
+
+require_once 'HTTP/Request2.php';
+
+require_once 'Services/Capsule/Exception.php';
+require_once 'Services/Capsule/Common.php';
+
+/**
+ * Services_Capsule
+ *
+ * @category Services
+ * @package Services_Capsule
+ * @author David Coallier <david@echolibre.com>
+ * @license http://www.opensource.org/licenses/bsd-license.php The BSD License
+ * @link http://github.com/davidcoallier/Services_Capsule
+ * @version Release: @package_version@
+ */
+class Services_Capsule extends Services_Capsule_Common
+{
+ /**
+ * Sections available to the API
+ *
+ * @var array An array of sections available to the API
+ */
+ protected $sections = array();
+
+ /**
+ * Constructor
+ *
+ * Initialize the class with the API token.
+ *
+ * @param string $token The API Token you use for your API Calls
+ */
+ public function __construct($appName, $token)
+ {
+ $this->token = $token;
+ $this->appName = $appName;
+ }
+
+ /**
+ * Magical Getter
+ *
+ * @throws Services_Capsule_RuntimeException
+ *
+ * @param string $sub Items, Meetings, Notes, Projects or User.
+ *
+ * @return mixed Services_Capsule_*
+ */
+ public function __get($section)
+ {
+ $section = ucwords(strtolower($section));
+ switch ($section) {
+ case 'Party':
+ case 'Opportunity':
+ case 'Kase':
+ case 'Resource':
+ case 'Person':
+
+ if (!isset($this->sections[$section])) {
+ $classname = 'Services_Capsule_' .$section;
+
+ if (!class_exists($classname)) {
+ $filename = str_replace('_', '/', $classname) . '.php';
+
+ if (!(include $filename)) {
+ throw new Services_Capsule_RuntimeException(
+ 'File ' . $filename . ' does not exist.'
+ );
+ }
+
+ }
+
+ $this->sections[$section] = new $classname;
+
+ $this->sections[$section]
+ ->setToken($this->token)
+ ->setAppName($this->appName)
+ ->setModuleName(strtolower($section));
+ }
+
+ return $this->sections[$section];
+ break;
+
+ default:
+ throw new Services_Capsule_RuntimeException(
+ 'Section '. $section .' is not a valid API call. If you believe this ' .
+ 'is wrong please report a bug on http://pear.php.net/Services_Capsule'
+ );
+ }
+ }
+}
Oops, something went wrong.

0 comments on commit 339bca4

Please sign in to comment.