]> source.dussan.org Git - nextcloud-server.git/commitdiff
Merge branch 'master' into ocs_api
authorTom Needham <needham.thomas@gmail.com>
Mon, 31 Dec 2012 15:47:15 +0000 (15:47 +0000)
committerTom Needham <needham.thomas@gmail.com>
Mon, 31 Dec 2012 15:47:15 +0000 (15:47 +0000)
Conflicts:
l10n/templates/core.pot
l10n/templates/files.pot
l10n/templates/files_encryption.pot
l10n/templates/files_external.pot
l10n/templates/files_sharing.pot
l10n/templates/files_versions.pot
l10n/templates/lib.pot
l10n/templates/settings.pot
l10n/templates/user_ldap.pot
l10n/templates/user_webdavauth.pot

1  2 
lib/api.php
lib/ocs/activity.php
lib/ocs/cloud.php
lib/ocs/person.php
lib/ocs/privatedata.php
lib/ocs/result.php
lib/public/api.php

diff --cc lib/api.php
index 6c6c351b292f202648514aa2a2ebfa40d92d1677,0000000000000000000000000000000000000000..cb67e0c2a892f33305e7e74b1146dc4dd50b1f8d
mode 100644,000000..100644
--- /dev/null
@@@ -1,202 -1,0 +1,200 @@@
-       * api actions
-       */
 +<?php
 +/**
 +* ownCloud
 +*
 +* @author Tom Needham
 +* @author Michael Gapczynski
 +* @author Bart Visscher
 +* @copyright 2012 Tom Needham tom@owncloud.com
 +* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
 +* @copyright 2012 Bart Visscher bartv@thisnet.nl
 +*
 +* This library is free software; you can redistribute it and/or
 +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
 +* License as published by the Free Software Foundation; either
 +* version 3 of the License, or any later version.
 +*
 +* This library is distributed in the hope that it will be useful,
 +* but WITHOUT ANY WARRANTY; without even the implied warranty of
 +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
 +*
 +* You should have received a copy of the GNU Affero General Public
 +* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 +*
 +*/
 +
 +class OC_API {
 +
 +      /**
 +       * API authentication levels
 +       */
 +      const GUEST_AUTH = 0;
 +      const USER_AUTH = 1;
 +      const SUBADMIN_AUTH = 2;
 +      const ADMIN_AUTH = 3;
 +
 +      private static $server;
 +
 +      /**
 +       * initialises the OAuth store and server
 +       */
 +      private static function init() {
 +              self::$server = new OC_OAuth_Server(new OC_OAuth_Store());
 +      }
 +      
 +      /**
-       * registers an api call
-       * @param string $method the http method
-       * @param string $url the url to match
-       * @param callable $action the function to run
-       * @param string $app the id of the app registering the call
-       * @param int $authlevel the level of authentication required for the call
-       * @param array $defaults
-       * @param array $requirements
-       */
++       * api actions
++       */
 +      protected static $actions = array();
 +      
 +      /**
-                               $authlevel = OC_API::USER_AUTH,
++       * registers an api call
++       * @param string $method the http method
++       * @param string $url the url to match
++       * @param callable $action the function to run
++       * @param string $app the id of the app registering the call
++       * @param int $authLevel the level of authentication required for the call
++       * @param array $defaults
++       * @param array $requirements
++       */
 +      public static function register($method, $url, $action, $app, 
-                               $requirements = array()){
++                              $authLevel = OC_API::USER_AUTH,
 +                              $defaults = array(),
-               if(!isset(self::$actions[$name])){
++                              $requirements = array()) {
 +              $name = strtolower($method).$url;
 +              $name = str_replace(array('/', '{', '}'), '_', $name);
-               self::$actions[$name] = array('app' => $app, 'action' => $action, 'authlevel' => $authlevel);
++              if(!isset(self::$actions[$name])) {
 +                      OC::getRouter()->useCollection('ocs');
 +                      OC::getRouter()->create($name, $url)
 +                              ->method($method)
 +                              ->action('OC_API', 'call');
 +                      self::$actions[$name] = array();
 +              }
-       * handles an api call
-       * @param array $parameters
-       */
-       public static function call($parameters){
++              self::$actions[$name] = array('app' => $app, 'action' => $action, 'authlevel' => $authLevel);
 +      }
 +      
 +      /**
-               if($_SERVER['REQUEST_METHOD'] == 'PUT'){
++       * handles an api call
++       * @param array $parameters
++       */
++      public static function call($parameters) {
 +              // Prepare the request variables
-               if(self::isAuthorised(self::$actions[$name])){
-                       if(is_callable(self::$actions[$name]['action'])){
++              if($_SERVER['REQUEST_METHOD'] == 'PUT') {
 +                      parse_str(file_get_contents("php://input"), $parameters['_put']);
 +              } else if($_SERVER['REQUEST_METHOD'] == 'DELETE'){
 +                      parse_str(file_get_contents("php://input"), $parameters['_delete']);
 +              }
 +              $name = $parameters['_route'];
 +              // Check authentication and availability
-       private static function isAuthorised($action){
++              if(self::isAuthorised(self::$actions[$name])) {
++                      if(is_callable(self::$actions[$name]['action'])) {
 +                              $response = call_user_func(self::$actions[$name]['action'], $parameters);
 +                      } else {
 +                              $response = new OC_OCS_Result(null, 998, 'Api method not found');
 +                      } 
 +              } else {
 +                      $response = new OC_OCS_Result(null, 997, 'Unauthorised');
 +              }
 +              // Send the response
 +              $formats = array('json', 'xml');
 +              $format = !empty($_GET['format']) && in_array($_GET['format'], $formats) ? $_GET['format'] : 'xml';
 +              self::respond($response, $format);
 +              // logout the user to be stateless
 +              OC_User::logout();
 +      }
 +      
 +      /**
 +       * authenticate the api call
 +       * @param array $action the action details as supplied to OC_API::register()
 +       * @return bool
 +       */
-               switch($level){
++      private static function isAuthorised($action) {
 +              $level = $action['authlevel'];
-                               if(!$user){
++              switch($level) {
 +                      case OC_API::GUEST_AUTH:
 +                              // Anyone can access
 +                              return true;
 +                              break;
 +                      case OC_API::USER_AUTH:
 +                              // User required
 +                              return self::loginUser();
 +                              break;
 +                      case OC_API::SUBADMIN_AUTH:
 +                              // Check for subadmin
 +                              $user = self::loginUser();
-                                       $subadmin = OC_SubAdmin::isSubAdmin($user);
++                              if(!$user) {
 +                                      return false;
 +                              } else {
-                                       if($subadmin || $admin){
++                                      $subAdmin = OC_SubAdmin::isSubAdmin($user);
 +                                      $admin = OC_Group::inGroup($user, 'admin');
-                               if(!$user){
++                                      if($subAdmin || $admin) {
 +                                              return true;
 +                                      } else {
 +                                              return false;
 +                                      }
 +                              }
 +                              break;
 +                      case OC_API::ADMIN_AUTH:
 +                              // Check for admin
 +                              $user = self::loginUser();
-       private static function loginUser(){
-               $authuser = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
-               $authpw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
-               return OC_User::login($authuser, $authpw) ? $authuser : false;
++                              if(!$user) {
 +                                      return false;
 +                              } else {
 +                                      return OC_Group::inGroup($user, 'admin');
 +                              }
 +                              break;
 +                      default:
 +                              // oops looks like invalid level supplied
 +                              return false;
 +                              break;
 +              }
 +      } 
 +      
 +      /**
 +       * http basic auth
 +       * @return string|false (username, or false on failure)
 +       */
-       * respond to a call
-       * @param int|array $result the result from the api method
-       * @param string $format the format xml|json
-       */
-       private static function respond($result, $format='xml'){
++      private static function loginUser(){ 
++              $authUser = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
++              $authPw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
++              return OC_User::login($authUser, $authPw) ? $authUser : false;
 +      }
 +      
 +      /**
-               } else {
-                       var_dump($format, $response);
++       * respond to a call
++       * @param int|array $result the result from the api method
++       * @param string $format the format xml|json
++       */
++      private static function respond($result, $format='xml') {
 +              $response = array('ocs' => $result->getResult());
 +              if ($format == 'json') {
 +                      OC_JSON::encodedPrint($response);
 +              } else if ($format == 'xml') {
 +                      header('Content-type: text/xml; charset=UTF-8');
 +                      $writer = new XMLWriter();
 +                      $writer->openMemory();
 +                      $writer->setIndent( true );
 +                      $writer->startDocument();
 +                      self::toXML($response, $writer);
 +                      $writer->endDocument();
 +                      echo $writer->outputMemory(true);
-       private static function toXML($array, $writer){
 +              }
 +      }
 +
++      private static function toXML($array, $writer) {
 +              foreach($array as $k => $v) {
 +                      if (is_numeric($k)) {
 +                              $k = 'element';
 +                      }
 +                      if (is_array($v)) {
 +                              $writer->startElement($k);
 +                              self::toXML($v, $writer);
 +                              $writer->endElement();
 +                      } else {
 +                              $writer->writeElement($k, $v);
 +                      }
 +              }
 +      }
 +      
 +}
index 07b571665ec6981e111dc604c4929cc3b9123a4b,0000000000000000000000000000000000000000..c30e21018d33921afdda06d540f79bbf4e1159b4
mode 100644,000000..100644
--- /dev/null
@@@ -1,8 -1,0 +1,28 @@@
 +<?php
++/**
++* ownCloud
++*
++* @author Frank Karlitschek
++* @copyright 2012 Frank Karlitschek frank@owncloud.org
++*
++* This library is free software; you can redistribute it and/or
++* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
++* License as published by the Free Software Foundation; either
++* version 3 of the License, or any later version.
++*
++* This library is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
++*
++* You should have received a copy of the GNU Affero General Public
++* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
++*
++*/
 +
 +class OC_OCS_Activity {
 +
 +      public static function activityGet($parameters){
 +              // TODO
 +      }
 +}
index b5cfbc295e87eff71a195787fa45db42ad08b715,0000000000000000000000000000000000000000..21095ec91e9991a3a647ed79c6279001eaf96add
mode 100644,000000..100644
--- /dev/null
@@@ -1,76 -1,0 +1,98 @@@
-       public static function getSystemWebApps($parameters){
 +<?php
++/**
++* ownCloud
++*
++* @author Frank Karlitschek
++* @author Tom Needham
++* @copyright 2012 Frank Karlitschek frank@owncloud.org
++* @copyright 2012 Tom Needham tom@owncloud.com
++*
++* This library is free software; you can redistribute it and/or
++* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
++* License as published by the Free Software Foundation; either
++* version 3 of the License, or any later version.
++*
++* This library is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
++*
++* You should have received a copy of the GNU Affero General Public
++* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
++*
++*/
 +
 +class OC_OCS_Cloud {
 +
-                               $newvalue = array('name'=>$info['name'],'url'=>OC_Helper::linkToAbsolute($app,''),'icon'=>'');
-                               $values[] = $newvalue;
++      public static function getSystemWebApps($parameters) {
 +              OC_Util::checkLoggedIn();
 +              $apps = OC_App::getEnabledApps();
 +              $values = array();
 +              foreach($apps as $app) {
 +                      $info = OC_App::getAppInfo($app);
 +                      if(isset($info['standalone'])) {
-       public static function getUserQuota($parameters){
++                              $newValue = array('name'=>$info['name'],'url'=>OC_Helper::linkToAbsolute($app,''),'icon'=>'');
++                              $values[] = $newValue;
 +                      }
 +              }
 +              return new OC_OCS_Result($values);
 +      }
 +      
-                       if(OC_User::userExists($parameters['user'])){
++      public static function getUserQuota($parameters) {
 +              $user = OC_User::getUser();
 +              if(OC_Group::inGroup($user, 'admin') or ($user==$parameters['user'])) {
 +
-                               $user_dir = '/'.$parameters['user'].'/files';
-                               OC_Filesystem::init($user_dir);
-                               $rootInfo=OC_FileCache::get('');
-                               $sharedInfo=OC_FileCache::get('/Shared');
-                               $used=$rootInfo['size']-$sharedInfo['size'];
-                               $free=OC_Filesystem::free_space();
-                               $total=$free+$used;
-                               if($total==0) $total=1;  // prevent division by zero
-                               $relative=round(($used/$total)*10000)/100;
++                      if(OC_User::userExists($parameters['user'])) {
 +                              // calculate the disc space
-                               $xml=array();
-                               $xml['quota']=$total;
-                               $xml['free']=$free;
-                               $xml['used']=$used;
-                               $xml['relative']=$relative;
++                              $userDir = '/'.$parameters['user'].'/files';
++                              OC_Filesystem::init($useDir);
++                              $rootInfo = OC_FileCache::get('');
++                              $sharedInfo = OC_FileCache::get('/Shared');
++                              $used = $rootInfo['size'] - $sharedInfo['size'];
++                              $free = OC_Filesystem::free_space();
++                              $total = $free + $used;
++                              if($total===0) $total = 1;  // prevent division by zero
++                              $relative = round(($used/$total)*10000)/100;
 +
-                       }else{
++                              $xml = array();
++                              $xml['quota'] = $total;
++                              $xml['free'] = $free;
++                              $xml['used'] = $used;
++                              $xml['relative'] = $relative;
 +
 +                              return new OC_OCS_Result($xml);
-               }else{
++                      } else {
 +                              return new OC_OCS_Result(null, 300);
 +                      }
-       public static function getUserPublickey($parameters){
++              } else {
 +                      return new OC_OCS_Result(null, 300);
 +              }
 +      }
 +      
-               if(OC_User::userExists($parameters['user'])){
++      public static function getUserPublickey($parameters) {
 +
-               }else{
++              if(OC_User::userExists($parameters['user'])) {
 +                      // calculate the disc space
 +                      // TODO
 +                      return new OC_OCS_Result(array());
-       public static function getUserPrivatekey($parameters){
++              } else {
 +                      return new OC_OCS_Result(null, 300);
 +              }
 +      }
 +      
-                       if(OC_User::userExists($user)){
++      public static function getUserPrivatekey($parameters) {
 +              $user = OC_User::getUser();
 +              if(OC_Group::inGroup($user, 'admin') or ($user==$parameters['user'])) {
 +
-                               $txt='this is the private key of '.$parameters['user'];
++                      if(OC_User::userExists($user)) {
 +                              // calculate the disc space
-                       }else{
++                              $txt = 'this is the private key of '.$parameters['user'];
 +                              echo($txt);
-               }else{
++                      } else {
 +                              return new OC_OCS_Result(null, 300, 'User does not exist');
 +                      }
++              } else {
 +                      return new OC_OCS_Result('null', 300, 'You donĀ“t have permission to access this ressource.');
 +              }
 +      }
 +}
index b5f07d88ae1b30afcaf8f9effedc10d3b1c993c4,0000000000000000000000000000000000000000..169cc8211db2fe78a4fb901392d7531bd6946e14
mode 100644,000000..100644
--- /dev/null
@@@ -1,20 -1,0 +1,42 @@@
-       public static function check($parameters){
 +<?php
++/**
++* ownCloud
++*
++* @author Frank Karlitschek
++* @author Tom Needham
++* @copyright 2012 Frank Karlitschek frank@owncloud.org
++* @copyright 2012 Tom Needham tom@owncloud.com
++*
++* This library is free software; you can redistribute it and/or
++* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
++* License as published by the Free Software Foundation; either
++* version 3 of the License, or any later version.
++*
++* This library is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
++*
++* You should have received a copy of the GNU Affero General Public
++* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
++*
++*/
 +
 +class OC_OCS_Person {
 +
-               if($login && $password){
-                       if(OC_User::checkPassword($login,$password)){
++      public static function check($parameters) {
 +              $login = isset($_POST['login']) ? $_POST['login'] : false;
 +              $password = isset($_POST['password']) ? $_POST['password'] : false;
-                       }else{
++              if($login && $password) {
++                      if(OC_User::checkPassword($login, $password)) {
 +                              $xml['person']['personid'] = $login;
 +                              return new OC_OCS_Result($xml);
-               }else{
++                      } else {
 +                              return new OC_OCS_Result(null, 102);
 +                      }
++              } else {
 +                      return new OC_OCS_Result(null, 101);
 +              }
 +      }
 +      
 +}
index 09d636bd7331af501ad5fe05aa9ccea10f190b99,0000000000000000000000000000000000000000..e01ed5e8b0757013832ceb7d1286dbf3201001af
mode 100644,000000..100644
--- /dev/null
@@@ -1,44 -1,0 +1,66 @@@
-       public static function get($parameters){
 +<?php
++/**
++* ownCloud
++*
++* @author Frank Karlitschek
++* @author Tom Needham
++* @copyright 2012 Frank Karlitschek frank@owncloud.org
++* @copyright 2012 Tom Needham tom@owncloud.com
++*
++* This library is free software; you can redistribute it and/or
++* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
++* License as published by the Free Software Foundation; either
++* version 3 of the License, or any later version.
++*
++* This library is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
++*
++* You should have received a copy of the GNU Affero General Public
++* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
++*
++*/
 +
 +class OC_OCS_Privatedata {
 +
-       public static function set($parameters){
++      public static function get($parameters) {
 +              OC_Util::checkLoggedIn();
 +              $user = OC_User::getUser();
 +              $app = addslashes(strip_tags($parameters['app']));
 +              $key = addslashes(strip_tags($parameters['key']));
 +              $result = OC_OCS::getData($user,$app,$key);
 +              $xml = array();
 +              foreach($result as $i=>$log) {
 +                      $xml[$i]['key']=$log['key'];
 +                      $xml[$i]['app']=$log['app'];
 +                      $xml[$i]['value']=$log['value'];
 +              }
 +              return new OC_OCS_Result($xml);
 +              //TODO: replace 'privatedata' with 'attribute' once a new libattice has been released that works with it
 +      }
 +      
-               if(OC_Preferences::setValue($user,$app,$key,$value)){
++      public static function set($parameters) {
 +              OC_Util::checkLoggedIn();
 +              $user = OC_User::getUser();
 +              $app = addslashes(strip_tags($parameters['app']));
 +              $key = addslashes(strip_tags($parameters['key']));
 +              $value = OC_OCS::readData('post', 'value', 'text');
-       public static function delete($parameters){
++              if(OC_Preferences::setValue($user, $app, $key, $value)){
 +                      return new OC_OCS_Result(null, 100);
 +              }
 +      }
 +      
-               if($key=="" or $app==""){
++      public static function delete($parameters) {
 +              OC_Util::checkLoggedIn();
 +              $user = OC_User::getUser();
 +              $app = addslashes(strip_tags($parameters['app']));
 +              $key = addslashes(strip_tags($parameters['key']));
-               if(OC_Preferences::deleteKey($user,$app,$key)){
++              if($key==="" or $app==="") {
 +                      return new OC_OCS_Result(null, 101); //key and app are NOT optional here
 +              }
++              if(OC_Preferences::deleteKey($user, $app, $key)) {
 +                      return new OC_OCS_Result(null, 100);
 +              }
 +      }
 +}
index 4531da5ae0d0125e7ecd3e0ff167cd17233a783e,0000000000000000000000000000000000000000..b08d911f785f63922d3ca41f27e123e0c2397f1c
mode 100644,000000..100644
--- /dev/null
@@@ -1,55 -1,0 +1,75 @@@
-       private $data, $message, $statuscode, $items, $perpage;
 +<?php
++/**
++* ownCloud
++*
++* @author Tom Needham
++* @copyright 2012 Tom Needham tom@owncloud.com
++*
++* This library is free software; you can redistribute it and/or
++* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
++* License as published by the Free Software Foundation; either
++* version 3 of the License, or any later version.
++*
++* This library is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
++*
++* You should have received a copy of the GNU Affero General Public
++* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
++*
++*/
 +
 +class OC_OCS_Result{
 +      
-       public function __construct($data=null, $code=100, $message=null){
++      private $data, $message, $statusCode, $items, $perPage;
 +      
 +      /**
 +       * create the OCS_Result object
 +       * @param $data mixed the data to return
 +       */
-               $this->statuscode = $code;
++      public function __construct($data=null, $code=100, $message=null) {
 +              $this->data = $data;
-       public function setTotalItems(int $items){
++              $this->statusCode = $code;
 +              $this->message = $message;
 +      }
 +      
 +      /**
 +       * optionally set the total number of items available
 +       * @param $items int
 +       */
-       public function setItemsPerPage(int $items){
-               $this->perpage = $items;
++      public function setTotalItems(int $items) {
 +              $this->items = $items;
 +      }
 +      
 +      /**
 +       * optionally set the the number of items per page
 +       * @param $items int
 +       */
-       public function getResult(){
++      public function setItemsPerPage(int $items) {
++              $this->perPage = $items;
 +      }
 +      
 +      /**
 +       * returns the data associated with the api result
 +       * @return array
 +       */
-               $return['meta']['status'] = ($this->statuscode === 100) ? 'ok' : 'failure';
-               $return['meta']['statuscode'] = $this->statuscode;
++      public function getResult() {
 +              $return = array();
 +              $return['meta'] = array();
-               if(isset($this->items)){
++              $return['meta']['status'] = ($this->statusCode === 100) ? 'ok' : 'failure';
++              $return['meta']['statuscode'] = $this->statusCode;
 +              $return['meta']['message'] = $this->message;
-               if(isset($this->perpage)){
-                       $return['meta']['itemsperpage'] = $this->perpage;
++              if(isset($this->items)) {
 +                      $return['meta']['totalitems'] = $this->items;
 +              }
++              if(isset($this->perPage)) {
++                      $return['meta']['itemsperpage'] = $this->perPage;
 +              }
 +              $return['data'] = $this->data;
 +              // Return the result data.
 +              return $return;
 +      }
 +      
 +      
 +}
index 9d6d1153e6c6c1bc0024c2b88bdf1715fe0f3e08,0000000000000000000000000000000000000000..a85daa1935cbc7456fc19f81d706db4f90dcc095
mode 100644,000000..100644
--- /dev/null
@@@ -1,44 -1,0 +1,44 @@@
-       * registers an api call
-       * @param string $method the http method
-       * @param string $url the url to match
-       * @param callable $action the function to run
-       * @param string $app the id of the app registering the call
-       * @param int $authlevel the level of authentication required for the call (See OC_API constants)
-       * @param array $defaults
-       * @param array $requirements
-       */
-       public static function register($method, $url, $action, $app, $authlevel = OC_API::USER_AUTH, $defaults = array(), $requirements = array()){
-               \OC_API::register($method, $url, $action, $app, $authlevel, $defaults, $requirements);
 +<?php
 +/**
 +* ownCloud
 +*
 +* @author Tom Needham
 +* @copyright 2012 Tom Needham tom@owncloud.com
 +*
 +* This library is free software; you can redistribute it and/or
 +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
 +* License as published by the Free Software Foundation; either
 +* version 3 of the License, or any later version.
 +*
 +* This library is distributed in the hope that it will be useful,
 +* but WITHOUT ANY WARRANTY; without even the implied warranty of
 +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
 +*
 +* You should have received a copy of the GNU Affero General Public
 +* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 +*
 +*/
 +
 +namespace OCP;
 +
 +/**
 + * This class provides functions to manage apps in ownCloud
 + */
 +class API {
 +        
 +      /**
++       * registers an api call
++       * @param string $method the http method
++       * @param string $url the url to match
++       * @param callable $action the function to run
++       * @param string $app the id of the app registering the call
++       * @param int $authLevel the level of authentication required for the call (See OC_API constants)
++       * @param array $defaults
++       * @param array $requirements
++       */
++      public static function register($method, $url, $action, $app, $authLevel = OC_API::USER_AUTH, $defaults = array(), $requirements = array()){
++              \OC_API::register($method, $url, $action, $app, $authLevel, $defaults, $requirements);
 +      }
 +     
 +}