Merge branch 'master' of gitorious.org:owncloud/owncloud
This commit is contained in:
commit
b0e68d039c
|
@ -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_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/connector_sabre.php';
|
||||||
OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.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_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
|
||||||
OC_Hook::connect('OC_DAV', 'initialize', 'OC_Calendar_Hooks', 'initializeCalDAV');
|
|
||||||
OC_Util::addScript('calendar','loader');
|
OC_Util::addScript('calendar','loader');
|
||||||
OC_App::register( array(
|
OC_App::register( array(
|
||||||
'order' => 10,
|
'order' => 10,
|
||||||
|
@ -20,4 +19,4 @@ OC_App::addNavigationEntry( array(
|
||||||
'icon' => OC_Helper::imagePath( 'calendar', 'icon.svg' ),
|
'icon' => OC_Helper::imagePath( 'calendar', 'icon.svg' ),
|
||||||
'name' => $l->t('Calendar')));
|
'name' => $l->t('Calendar')));
|
||||||
OC_App::registerPersonal('calendar', 'settings');
|
OC_App::registerPersonal('calendar', 'settings');
|
||||||
OC_Search::registerProvider('OC_Search_Provider_Calendar');
|
OC_Search::registerProvider('OC_Search_Provider_Calendar');
|
||||||
|
|
|
@ -24,17 +24,4 @@ class OC_Calendar_Hooks{
|
||||||
|
|
||||||
return true;
|
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?php
|
<?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 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><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>";
|
||||||
|
|
|
@ -12,4 +12,3 @@ OC_JSON::checkAppEnabled('contacts');
|
||||||
|
|
||||||
$output = new OC_TEMPLATE("contacts", "part.chooseaddressbook");
|
$output = new OC_TEMPLATE("contacts", "part.chooseaddressbook");
|
||||||
$output -> printpage();
|
$output -> printpage();
|
||||||
?>
|
|
||||||
|
|
|
@ -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_User', 'post_deleteUser', 'OC_Contacts_Hooks', 'deleteUser');
|
||||||
OC_HOOK::connect('OC_Calendar', 'getEvents', 'OC_Contacts_Hooks', 'getBirthdayEvents');
|
OC_HOOK::connect('OC_Calendar', 'getEvents', 'OC_Contacts_Hooks', 'getBirthdayEvents');
|
||||||
OC_HOOK::connect('OC_Calendar', 'getSources', 'OC_Contacts_Hooks', 'getCalenderSources');
|
OC_HOOK::connect('OC_Calendar', 'getSources', 'OC_Contacts_Hooks', 'getCalenderSources');
|
||||||
OC_Hook::connect('OC_DAV', 'initialize', 'OC_Contacts_Hooks', 'initializeCardDAV');
|
|
||||||
|
|
||||||
OC_App::register( array(
|
OC_App::register( array(
|
||||||
'order' => 10,
|
'order' => 10,
|
||||||
|
|
|
@ -39,19 +39,6 @@ class OC_Contacts_Hooks{
|
||||||
return true;
|
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) {
|
static public function getCalenderSources($parameters) {
|
||||||
$base_url = OC_Helper::linkTo('calendar', 'ajax/events.php').'?calendar_id=';
|
$base_url = OC_Helper::linkTo('calendar', 'ajax/events.php').'?calendar_id=';
|
||||||
foreach(OC_Contacts_Addressbook::all(OC_User::getUser()) as $addressbook) {
|
foreach(OC_Contacts_Addressbook::all(OC_User::getUser()) as $addressbook) {
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
// FIXME: Make this readable.
|
// 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 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><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>";
|
||||||
|
|
77
dav.php
77
dav.php
|
@ -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();
|
|
|
@ -47,7 +47,8 @@ $result=array();
|
||||||
if(strpos($dir,'..') === false){
|
if(strpos($dir,'..') === false){
|
||||||
$fileCount=count($files['name']);
|
$fileCount=count($files['name']);
|
||||||
for($i=0;$i<$fileCount;$i++){
|
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)){
|
if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){
|
||||||
$meta=OC_FileCache::getCached($target);
|
$meta=OC_FileCache::getCached($target);
|
||||||
$result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>$files['name'][$i]);
|
$result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>$files['name'][$i]);
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue