diff options
author | Tom Needham <needham.thomas@gmail.com> | 2012-04-15 15:09:54 +0000 |
---|---|---|
committer | Tom Needham <needham.thomas@gmail.com> | 2012-04-15 15:09:54 +0000 |
commit | b0e68d039c17c26013460f890c148595652b5376 (patch) | |
tree | ef3c4149316a9edbb8f1651315116e39878cba5a | |
parent | 712e25bb02518f353edddc5e9acbb56b80e2affb (diff) | |
parent | a0d917fe98efbb11905f7ddd12169e3675690555 (diff) | |
download | nextcloud-server-b0e68d039c17c26013460f890c148595652b5376.tar.gz nextcloud-server-b0e68d039c17c26013460f890c148595652b5376.zip |
Merge branch 'master' of gitorious.org:owncloud/owncloud
-rw-r--r-- | apps/calendar/appinfo/app.php | 3 | ||||
-rw-r--r-- | apps/calendar/lib/hooks.php | 13 | ||||
-rw-r--r-- | apps/calendar/templates/part.choosecalendar.rowfields.php | 2 | ||||
-rw-r--r-- | apps/contacts/ajax/chooseaddressbook.php | 1 | ||||
-rw-r--r-- | apps/contacts/appinfo/app.php | 1 | ||||
-rw-r--r-- | apps/contacts/lib/hooks.php | 13 | ||||
-rw-r--r-- | apps/contacts/templates/part.chooseaddressbook.rowfields.php | 2 | ||||
-rw-r--r-- | dav.php | 77 | ||||
-rw-r--r-- | files/ajax/upload.php | 3 | ||||
-rwxr-xr-x | lib/helper.php | 28 |
10 files changed, 33 insertions, 110 deletions
diff --git a/apps/calendar/appinfo/app.php b/apps/calendar/appinfo/app.php index 1fece8077ac..ea743674fe8 100644 --- a/apps/calendar/appinfo/app.php +++ b/apps/calendar/appinfo/app.php @@ -7,7 +7,6 @@ OC::$CLASSPATH['OC_Calendar_Hooks'] = 'apps/calendar/lib/hooks.php'; OC::$CLASSPATH['OC_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/connector_sabre.php'; OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php'; OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser'); -OC_Hook::connect('OC_DAV', 'initialize', 'OC_Calendar_Hooks', 'initializeCalDAV'); OC_Util::addScript('calendar','loader'); OC_App::register( array( 'order' => 10, @@ -20,4 +19,4 @@ OC_App::addNavigationEntry( array( 'icon' => OC_Helper::imagePath( 'calendar', 'icon.svg' ), 'name' => $l->t('Calendar'))); OC_App::registerPersonal('calendar', 'settings'); -OC_Search::registerProvider('OC_Search_Provider_Calendar');
\ No newline at end of file +OC_Search::registerProvider('OC_Search_Provider_Calendar'); diff --git a/apps/calendar/lib/hooks.php b/apps/calendar/lib/hooks.php index 54f1680a36e..22e8d8e20f2 100644 --- a/apps/calendar/lib/hooks.php +++ b/apps/calendar/lib/hooks.php @@ -24,17 +24,4 @@ class OC_Calendar_Hooks{ return true; } - - /** - * @brief Adds the CardDAV resource to the DAV server - * @param paramters parameters from initialize-Hook - * @return array - */ - public static function initializeCalDAV($parameters){ - // We need a backend, the root node and the caldav plugin - $parameters['backends']['caldav'] = new OC_Connector_Sabre_CalDAV(); - $parameters['nodes'][] = new Sabre_CalDAV_CalendarRootNode($parameters['backends']['principal'], $parameters['backends']['caldav']); - $parameters['plugins'][] = new Sabre_CalDAV_Plugin(); - return true; - } } diff --git a/apps/calendar/templates/part.choosecalendar.rowfields.php b/apps/calendar/templates/part.choosecalendar.rowfields.php index a789be45a43..d3bf6c0501c 100644 --- a/apps/calendar/templates/part.choosecalendar.rowfields.php +++ b/apps/calendar/templates/part.choosecalendar.rowfields.php @@ -1,4 +1,4 @@ <?php echo "<td width=\"20px\"><input id=\"active_" . $_['calendar']["id"] . "\" type=\"checkbox\" onClick=\"Calendar.UI.Calendar.activation(this, " . $_['calendar']["id"] . ")\"" . ($_['calendar']["active"] ? ' checked="checked"' : '') . "></td>"; echo "<td><label for=\"active_" . $_['calendar']["id"] . "\">" . $_['calendar']["displayname"] . "</label></td>"; - echo "<td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.showCalDAVUrl('" . OC_User::getUser() . "', '" . $_['calendar']["uri"] . "');\" title=\"" . $l->t("CalDav Link") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?calid=" . $_['calendar']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Calendar.UI.Calendar.edit(this, " . $_['calendar']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.Calendar.deleteCalendar('" . $_['calendar']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>"; + echo "<td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.showCalDAVUrl('" . OC_User::getUser() . "', '" . rawurlencode( $_['calendar']["uri"] ) . "');\" title=\"" . $l->t("CalDav Link") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?calid=" . $_['calendar']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Calendar.UI.Calendar.edit(this, " . $_['calendar']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.Calendar.deleteCalendar('" . $_['calendar']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>"; diff --git a/apps/contacts/ajax/chooseaddressbook.php b/apps/contacts/ajax/chooseaddressbook.php index 8298c16b041..d6080791299 100644 --- a/apps/contacts/ajax/chooseaddressbook.php +++ b/apps/contacts/ajax/chooseaddressbook.php @@ -12,4 +12,3 @@ OC_JSON::checkAppEnabled('contacts'); $output = new OC_TEMPLATE("contacts", "part.chooseaddressbook"); $output -> printpage(); -?> diff --git a/apps/contacts/appinfo/app.php b/apps/contacts/appinfo/app.php index 0ff8fd29ef3..7e44219ce99 100644 --- a/apps/contacts/appinfo/app.php +++ b/apps/contacts/appinfo/app.php @@ -8,7 +8,6 @@ OC::$CLASSPATH['OC_Search_Provider_Contacts'] = 'apps/contacts/lib/search.php'; OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Contacts_Hooks', 'deleteUser'); OC_HOOK::connect('OC_Calendar', 'getEvents', 'OC_Contacts_Hooks', 'getBirthdayEvents'); OC_HOOK::connect('OC_Calendar', 'getSources', 'OC_Contacts_Hooks', 'getCalenderSources'); -OC_Hook::connect('OC_DAV', 'initialize', 'OC_Contacts_Hooks', 'initializeCardDAV'); OC_App::register( array( 'order' => 10, diff --git a/apps/contacts/lib/hooks.php b/apps/contacts/lib/hooks.php index e09da20be86..b858c4a5a48 100644 --- a/apps/contacts/lib/hooks.php +++ b/apps/contacts/lib/hooks.php @@ -39,19 +39,6 @@ class OC_Contacts_Hooks{ return true; } - /** - * @brief Adds the CardDAV resource to the DAV server - * @param paramters parameters from initialize-Hook - * @return array - */ - static public function initializeCardDAV($parameters){ - // We need a backend, the root node and the carddav plugin - $parameters['backends']['carddav'] = new OC_Connector_Sabre_CardDAV(); - $parameters['nodes'][] = new Sabre_CardDAV_AddressBookRoot($parameters['backends']['principal'], $parameters['backends']['carddav']); - $parameters['plugins'][] = new Sabre_CardDAV_Plugin(); - return true; - } - static public function getCalenderSources($parameters) { $base_url = OC_Helper::linkTo('calendar', 'ajax/events.php').'?calendar_id='; foreach(OC_Contacts_Addressbook::all(OC_User::getUser()) as $addressbook) { diff --git a/apps/contacts/templates/part.chooseaddressbook.rowfields.php b/apps/contacts/templates/part.chooseaddressbook.rowfields.php index 95a4b2362aa..8518c1acd13 100644 --- a/apps/contacts/templates/part.chooseaddressbook.rowfields.php +++ b/apps/contacts/templates/part.chooseaddressbook.rowfields.php @@ -2,4 +2,4 @@ // FIXME: Make this readable. echo "<td width=\"20px\"><input id=\"active_" . $_['addressbook']["id"] . "\" type=\"checkbox\" onClick=\"Contacts.UI.Addressbooks.activation(this, " . $_['addressbook']["id"] . ")\"" . (OC_Contacts_Addressbook::isActive($_['addressbook']["id"]) ? ' checked="checked"' : '') . "></td>"; echo "<td><label for=\"active_" . $_['addressbook']["id"] . "\">" . htmlspecialchars($_['addressbook']["displayname"]) . "</label></td>"; - echo "<td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.showCardDAVUrl('" . OC_User::getUser() . "', '" . $_['addressbook']["uri"] . "');\" title=\"" . $l->t("CardDav Link") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?bookid=" . $_['addressbook']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Contacts.UI.Addressbooks.editAddressbook(this, " . $_['addressbook']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.Addressbooks.deleteAddressbook('" . $_['addressbook']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>"; + echo "<td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.showCardDAVUrl('" . OC_User::getUser() . "', '" . rawurlencode($_['addressbook']["uri"]) . "');\" title=\"" . $l->t("CardDav Link") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?bookid=" . $_['addressbook']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Contacts.UI.Addressbooks.editAddressbook(this, " . $_['addressbook']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.Addressbooks.deleteAddressbook('" . $_['addressbook']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>"; diff --git a/dav.php b/dav.php deleted file mode 100644 index 78e2711aec8..00000000000 --- a/dav.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php - -/** -* ownCloud -* -* @author Jakob Sack -* @copyright 2012 Jakob Sack owncloud@jakobsack.de -* -* 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/>. -* -*/ - -require_once('lib/base.php'); - -// Backends we always need (auth, principal and files) -$backends = array( - 'auth' => new OC_Connector_Sabre_Auth(), - 'principal' => new OC_Connector_Sabre_Principal() -); - -// Root nodes -$nodes = array( - new Sabre_CalDAV_Principal_Collection($backends['principal']) -); - -// Plugins -$plugins = array( - new Sabre_DAV_Auth_Plugin($backends['auth'],'ownCloud'), - new Sabre_DAVACL_Plugin(), - new Sabre_DAV_Browser_Plugin(false) // Show something in the Browser, but no upload -); - -// Load the plugins etc we need for usual file sharing -$backends['lock'] = new OC_Connector_Sabre_Locks(); -$plugins[] = new Sabre_DAV_Locks_Plugin($backends['lock']); -// Add a RESTful user directory -// /files/$username/ -if( OC_User::isLoggedIn()){ - $currentuser = OC_User::getUser(); - $files = new Sabre_DAV_SimpleCollection('files'); - foreach( OC_User::getUsers() as $username ){ - if( $username == $currentuser ){ - $public = new OC_Connector_Sabre_Directory('.'); - $files->addChild( new Sabre_DAV_SimpleCollection( $username, $public->getChildren())); - } - else{ - $files->addChild(new Sabre_DAV_SimpleCollection( $username )); - } - } - $nodes[] = $files; -} - -// Get the other plugins and nodes -OC_Hook::emit( 'OC_DAV', 'initialize', array( 'backends' => &$backends, 'nodes' => &$nodes, 'plugins' => &$plugins )); - -// Fire up server -$server = new Sabre_DAV_Server($nodes); -$server->setBaseUri(OC::$WEBROOT.'/dav.php'); - -// Load additional plugins -foreach( $plugins as &$plugin ){ - $server->addPlugin( $plugin ); -} unset( $plugin ); // Always do this after foreach with references! - -// And off we go! -$server->exec(); diff --git a/files/ajax/upload.php b/files/ajax/upload.php index af7a7acf702..76ea65fe933 100644 --- a/files/ajax/upload.php +++ b/files/ajax/upload.php @@ -47,7 +47,8 @@ $result=array(); if(strpos($dir,'..') === false){ $fileCount=count($files['name']); for($i=0;$i<$fileCount;$i++){ - $target=stripslashes($dir) . $files['name'][$i]; + // $target=stripslashes($dir) . $files['name'][$i]; + $target = OC_Helper::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]); if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){ $meta=OC_FileCache::getCached($target); $result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>$files['name'][$i]); diff --git a/lib/helper.php b/lib/helper.php index c33db5f10fe..412f0e6b764 100755 --- a/lib/helper.php +++ b/lib/helper.php @@ -492,4 +492,32 @@ class OC_Helper { } } } + + /** + * Adds a suffix to the name in case the file exists + * + * @param $path + * @param $filename + * @return string + */ + public static function buildNotExistingFileName($path, $filename) + { + if ($pos = strrpos($filename, '.')) { + $name = substr($filename, 0, $pos); + $ext = substr($filename, $pos); + } else { + $name = $filename; + } + + $newpath = $path . '/' . $filename; + $newname = $filename; + $counter = 2; + while (OC_Filesystem::file_exists($newpath)) { + $newname = $name . ' (' . $counter . ')' . $ext; + $newpath = $path . '/' . $newname; + $counter++; + } + + return $newname; + } } |