diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-25 13:36:30 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-30 16:36:59 +0200 |
commit | 9c9dc276b7a1d2592c4fb0a887888632dc1f1e29 (patch) | |
tree | bbe3aed3e09c31c68806bdb8acffef70ba08f51c /lib/vobject.php | |
parent | a711399e62d5a9f14d4b748efe4354ee37e61f13 (diff) | |
download | nextcloud-server-9c9dc276b7a1d2592c4fb0a887888632dc1f1e29.tar.gz nextcloud-server-9c9dc276b7a1d2592c4fb0a887888632dc1f1e29.zip |
move the private namespace OC into lib/private - OCP will stay in lib/public
Conflicts:
lib/private/vcategories.php
Diffstat (limited to 'lib/vobject.php')
-rw-r--r-- | lib/vobject.php | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/lib/vobject.php b/lib/vobject.php deleted file mode 100644 index 267176ebc07..00000000000 --- a/lib/vobject.php +++ /dev/null @@ -1,207 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Bart Visscher - * @copyright 2011 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/>. - * - */ - -/** - * This class provides a streamlined interface to the Sabre VObject classes - */ -class OC_VObject{ - /** @var Sabre\VObject\Component */ - protected $vobject; - - /** - * @returns Sabre\VObject\Component - */ - public function getVObject() { - return $this->vobject; - } - - /** - * @brief Parses the VObject - * @param string VObject as string - * @returns Sabre_VObject or null - */ - public static function parse($data) { - try { - Sabre\VObject\Property::$classMap['LAST-MODIFIED'] = 'Sabre\VObject\Property\DateTime'; - $vobject = Sabre\VObject\Reader::read($data); - if ($vobject instanceof Sabre\VObject\Component) { - $vobject = new OC_VObject($vobject); - } - return $vobject; - } catch (Exception $e) { - OC_Log::write('vobject', $e->getMessage(), OC_Log::ERROR); - return null; - } - } - - /** - * @brief Escapes semicolons - * @param string $value - * @return string - */ - public static function escapeSemicolons($value) { - foreach($value as &$i ) { - $i = implode("\\\\;", explode(';', $i)); - } - return implode(';', $value); - } - - /** - * @brief Creates an array out of a multivalue property - * @param string $value - * @return array - */ - public static function unescapeSemicolons($value) { - $array = explode(';', $value); - for($i=0;$i<count($array);$i++) { - if(substr($array[$i], -2, 2)=="\\\\") { - if(isset($array[$i+1])) { - $array[$i] = substr($array[$i], 0, count($array[$i])-2).';'.$array[$i+1]; - unset($array[$i+1]); - } - else{ - $array[$i] = substr($array[$i], 0, count($array[$i])-2).';'; - } - $i = $i - 1; - } - } - return $array; - } - - /** - * Constuctor - * @param Sabre\VObject\Component or string - */ - public function __construct($vobject_or_name) { - if (is_object($vobject_or_name)) { - $this->vobject = $vobject_or_name; - } else { - $this->vobject = new Sabre\VObject\Component($vobject_or_name); - } - } - - public function add($item, $itemValue = null) { - if ($item instanceof OC_VObject) { - $item = $item->getVObject(); - } - $this->vobject->add($item, $itemValue); - } - - /** - * @brief Add property to vobject - * @param object $name of property - * @param object $value of property - * @param object $parameters of property - * @returns Sabre_VObject_Property newly created - */ - public function addProperty($name, $value, $parameters=array()) { - if(is_array($value)) { - $value = OC_VObject::escapeSemicolons($value); - } - $property = new Sabre\VObject\Property( $name, $value ); - foreach($parameters as $name => $value) { - $property->parameters[] = new Sabre\VObject\Parameter($name, $value); - } - - $this->vobject->add($property); - return $property; - } - - public function setUID() { - $uid = substr(md5(rand().time()), 0, 10); - $this->vobject->add('UID', $uid); - } - - public function setString($name, $string) { - if ($string != '') { - $string = strtr($string, array("\r\n"=>"\n")); - $this->vobject->__set($name, $string); - }else{ - $this->vobject->__unset($name); - } - } - - /** - * Sets or unsets the Date and Time for a property. - * When $datetime is set to 'now', use the current time - * When $datetime is null, unset the property - * - * @param string property name - * @param DateTime $datetime - * @param int $dateType - * @return void - */ - public function setDateTime($name, $datetime, $dateType=Sabre\VObject\Property\DateTime::LOCALTZ) { - if ($datetime == 'now') { - $datetime = new DateTime(); - } - if ($datetime instanceof DateTime) { - $datetime_element = new Sabre\VObject\Property\DateTime($name); - $datetime_element->setDateTime($datetime, $dateType); - $this->vobject->__set($name, $datetime_element); - }else{ - $this->vobject->__unset($name); - } - } - - public function getAsString($name) { - return $this->vobject->__isset($name) ? - $this->vobject->__get($name)->value : - ''; - } - - public function getAsArray($name) { - $values = array(); - if ($this->vobject->__isset($name)) { - $values = explode(',', $this->getAsString($name)); - $values = array_map('trim', $values); - } - return $values; - } - - public function &__get($name) { - if ($name == 'children') { - return $this->vobject->children; - } - $return = $this->vobject->__get($name); - if ($return instanceof Sabre\VObject\Component) { - $return = new OC_VObject($return); - } - return $return; - } - - public function __set($name, $value) { - return $this->vobject->__set($name, $value); - } - - public function __unset($name) { - return $this->vobject->__unset($name); - } - - public function __isset($name) { - return $this->vobject->__isset($name); - } - - public function __call($function, $arguments) { - return call_user_func_array(array($this->vobject, $function), $arguments); - } -} |