diff options
-rw-r--r-- | include/reddav.php | 79 | ||||
-rwxr-xr-x | index.php | 2 | ||||
-rw-r--r-- | mod/cloud.php | 2 | ||||
-rw-r--r-- | util/messages.po | 172 | ||||
-rw-r--r-- | version.inc | 2 |
5 files changed, 170 insertions, 87 deletions
diff --git a/include/reddav.php b/include/reddav.php index 97903edb2..79c68a000 100644 --- a/include/reddav.php +++ b/include/reddav.php @@ -3,6 +3,8 @@ use Sabre\DAV; require_once('vendor/autoload.php'); +require_once('include/attach.php'); + class RedInode implements DAV\INode { private $attach; @@ -149,15 +151,56 @@ class RedDirectory extends DAV\Node implements DAV\ICollection { function createFile($name,$data = null) { + logger('RedDirectory::createFile : ' . $name); + logger('RedDirectory::createFile : ' . print_r($this,true)); + + logger('createFile():' . stream_get_contents($data)); + + if(! perm_is_allowed($this->auth->channel_id,$this->auth->observer,'write_storage')) { + logger('createFile: permission denied'); throw new DAV\Exception\Forbidden('Permission denied.'); return; } + $mimetype = z_mime_content_type($name); + + + $c = q("select * from channel where channel_id = %d limit 1", + intval($this->auth->channel_id) + ); + + + $filesize = 0; + $hash = random_string(); +dbg(1); + + $r = q("INSERT INTO attach ( aid, uid, hash, filename, filetype, filesize, revision, data, created, edited ) + VALUES ( %d, %d, '%s', '%s', '%s', %d, %d, '%s', '%s', '%s' ) ", + intval($c[0]['channel_account_id']), + intval($c[0]['channel_id']), + dbesc($hash), + dbesc($name), + dbesc($mimetype), + intval($filesize), + intval(0), + dbesc(stream_get_contents($data)), + dbesc(datetime_convert()), + dbesc(datetime_convert()) + ); + + $r = q("update attach set filesize = length(data) where hash = '%s' and uid = %d limit 1", + dbesc($hash), + intval($c[0]['channel_id']) + ); + +dbg(0); + } + function createDirectory($name) { if(! perm_is_allowed($this->auth->channel_id,$this->auth->observer,'write_storage')) { throw new DAV\Exception\Forbidden('Permission denied.'); @@ -166,6 +209,12 @@ class RedDirectory extends DAV\Node implements DAV\ICollection { + + + + + + } @@ -174,10 +223,11 @@ class RedDirectory extends DAV\Node implements DAV\ICollection { logger('RedDirectory::childExists : ' . print_r($this->auth,true)); if($this->red_path === '/' && $name === 'cloud') { + logger('RedDirectory::childExists /cloud: true'); return true; } - $x = RedFileData($this->ext_path . '/' . $name, $this->auth); + $x = RedFileData($this->ext_path . '/' . $name, $this->auth,true); logger('RedFileData returns: ' . print_r($x,true)); if($x) return true; @@ -232,11 +282,20 @@ class RedFile extends DAV\Node implements DAV\IFile { function put($data) { logger('RedFile::put: ' . basename($this->name)); + logger('put():' . stream_get_contents($data)); + +dbg(1); $r = q("update attach set data = '%s' where hash = '%s' and uid = %d limit 1", - dbesc($data), + dbesc(stream_get_contents($data)), dbesc($this->data['hash']), intval($this->data['uid']) ); + $r = q("update attach set filesize = length(data) where hash = '%s' and uid = %d limit 1", + dbesc($this->data['hash']), + intval($this->data['uid']) + ); +dbg(0); + } @@ -376,7 +435,7 @@ logger('dbg2: ' . print_r($r,true)); } -function RedFileData($file, &$auth) { +function RedFileData($file, &$auth,$test = false) { logger('RedFileData:' . $file); @@ -463,15 +522,19 @@ dbg(0); } if($errors) { + if($test) + return false; throw new DAV\Exception\Forbidden('Permission denied.'); return; } - if($r[0]['flags'] & ATTACH_FLAG_DIR) - return new RedDirectory('/cloud' . $path . '/' . $r[0]['filename'],$auth); - else - return new RedFile('/cloud' . $path . '/' . $r[0]['filename'],$r[0],$auth); - + if($r) { + if($r[0]['flags'] & ATTACH_FLAG_DIR) + return new RedDirectory('/cloud' . $path . '/' . $r[0]['filename'],$auth); + else + return new RedFile('/cloud' . $path . '/' . $r[0]['filename'],$r[0],$auth); + } + return false; } @@ -62,8 +62,6 @@ else { } - - /** * * Important stuff we always need to do. diff --git a/mod/cloud.php b/mod/cloud.php index 3880c1fd5..106379785 100644 --- a/mod/cloud.php +++ b/mod/cloud.php @@ -81,7 +81,7 @@ class RedBasicAuth extends Sabre\DAV\Auth\Backend\AbstractBasic { logger('(DAV) RedBasicAuth: password verified for ' . $username); $this->channel_name = $r[0]['channel_address']; $this->channel_id = $r[0]['channel_id']; - $this->channel_hash = $r[0]['channel_hash']; + $this->channel_hash = $this->observer = $r[0]['channel_hash']; return true; } } diff --git a/util/messages.po b/util/messages.po index a309e9e82..d603ef3c4 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 2013-12-27.539\n" +"Project-Id-Version: 2014-01-03.546\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-27 00:04-0800\n" +"POT-Creation-Date: 2014-01-03 00:02-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -803,7 +803,7 @@ msgstr "" msgid "Stored post could not be verified." msgstr "" -#: ../../include/photo/photo_driver.php:609 ../../include/photos.php:51 +#: ../../include/photo/photo_driver.php:637 ../../include/photos.php:51 #: ../../mod/photos.php:91 ../../mod/photos.php:767 ../../mod/photos.php:789 #: ../../mod/profile_photo.php:78 ../../mod/profile_photo.php:225 #: ../../mod/profile_photo.php:336 @@ -1111,9 +1111,9 @@ msgid "Select" msgstr "" #: ../../include/conversation.php:632 ../../include/ItemObject.php:107 -#: ../../mod/connedit.php:356 ../../mod/admin.php:693 ../../mod/group.php:176 -#: ../../mod/photos.php:1132 ../../mod/filestorage.php:82 -#: ../../mod/settings.php:570 +#: ../../mod/thing.php:230 ../../mod/connedit.php:356 ../../mod/admin.php:693 +#: ../../mod/group.php:176 ../../mod/photos.php:1132 +#: ../../mod/filestorage.php:82 ../../mod/settings.php:570 msgid "Delete" msgstr "" @@ -1516,7 +1516,8 @@ msgstr "" #: ../../include/attach.php:251 ../../include/attach.php:272 #: ../../include/attach.php:464 ../../include/attach.php:539 #: ../../include/items.php:3437 ../../mod/common.php:35 -#: ../../mod/events.php:140 ../../mod/invite.php:13 ../../mod/invite.php:104 +#: ../../mod/events.php:140 ../../mod/thing.php:241 ../../mod/thing.php:257 +#: ../../mod/thing.php:291 ../../mod/invite.php:13 ../../mod/invite.php:104 #: ../../mod/connedit.php:179 ../../mod/webpages.php:40 ../../mod/api.php:26 #: ../../mod/api.php:31 ../../mod/page.php:30 ../../mod/page.php:80 #: ../../mod/setup.php:200 ../../mod/viewconnections.php:22 @@ -1534,10 +1535,10 @@ msgstr "" #: ../../mod/editwebpage.php:83 ../../mod/notifications.php:66 #: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/editpost.php:13 #: ../../mod/poke.php:128 ../../mod/channel.php:86 ../../mod/fsuggest.php:78 -#: ../../mod/editblock.php:48 ../../mod/item.php:181 ../../mod/item.php:189 -#: ../../mod/suggest.php:26 ../../mod/message.php:16 ../../mod/register.php:68 -#: ../../mod/regmod.php:18 ../../mod/authtest.php:13 ../../mod/mood.php:114 -#: ../../index.php:178 ../../index.php:346 +#: ../../mod/editblock.php:48 ../../mod/suggest.php:26 +#: ../../mod/message.php:16 ../../mod/register.php:68 ../../mod/regmod.php:18 +#: ../../mod/authtest.php:13 ../../mod/item.php:181 ../../mod/item.php:189 +#: ../../mod/mood.php:114 ../../index.php:176 ../../index.php:344 msgid "Permission denied." msgstr "" @@ -2240,10 +2241,11 @@ msgid "New Page" msgstr "" #: ../../include/page_widgets.php:8 ../../include/ItemObject.php:95 -#: ../../mod/webpages.php:118 ../../mod/menu.php:55 ../../mod/layouts.php:102 -#: ../../mod/settings.php:569 ../../mod/editlayout.php:100 -#: ../../mod/editwebpage.php:143 ../../mod/blocks.php:93 -#: ../../mod/editpost.php:97 ../../mod/editblock.php:114 +#: ../../mod/thing.php:229 ../../mod/webpages.php:118 ../../mod/menu.php:55 +#: ../../mod/layouts.php:102 ../../mod/settings.php:569 +#: ../../mod/editlayout.php:100 ../../mod/editwebpage.php:143 +#: ../../mod/blocks.php:93 ../../mod/editpost.php:97 +#: ../../mod/editblock.php:114 msgid "Edit" msgstr "" @@ -2679,7 +2681,7 @@ msgstr "" msgid "Default" msgstr "" -#: ../../include/identity.php:29 ../../mod/item.php:1152 +#: ../../include/identity.php:29 ../../mod/item.php:1162 msgid "Unable to obtain identity information from database" msgstr "" @@ -2727,7 +2729,7 @@ msgstr "" msgid "Requested profile is not available." msgstr "" -#: ../../include/identity.php:639 ../../mod/profiles.php:613 +#: ../../include/identity.php:639 ../../mod/profiles.php:615 msgid "Change profile photo" msgstr "" @@ -2739,7 +2741,7 @@ msgstr "" msgid "Manage/edit profiles" msgstr "" -#: ../../include/identity.php:646 ../../mod/profiles.php:614 +#: ../../include/identity.php:646 ../../mod/profiles.php:616 msgid "Create New Profile" msgstr "" @@ -2747,15 +2749,15 @@ msgstr "" msgid "Edit Profile" msgstr "" -#: ../../include/identity.php:660 ../../mod/profiles.php:625 +#: ../../include/identity.php:660 ../../mod/profiles.php:627 msgid "Profile Image" msgstr "" -#: ../../include/identity.php:663 ../../mod/profiles.php:628 +#: ../../include/identity.php:663 ../../mod/profiles.php:630 msgid "visible to everybody" msgstr "" -#: ../../include/identity.php:664 ../../mod/profiles.php:629 +#: ../../include/identity.php:664 ../../mod/profiles.php:631 msgid "Edit visibility" msgstr "" @@ -2808,7 +2810,7 @@ msgstr "" msgid "Events this week:" msgstr "" -#: ../../include/identity.php:893 ../../include/identity.php:1004 +#: ../../include/identity.php:893 ../../include/identity.php:975 #: ../../mod/profperm.php:103 msgid "Profile" msgstr "" @@ -2989,12 +2991,12 @@ msgid "This is you" msgstr "" #: ../../include/ItemObject.php:531 ../../mod/events.php:470 -#: ../../mod/thing.php:190 ../../mod/invite.php:156 ../../mod/connedit.php:434 -#: ../../mod/setup.php:302 ../../mod/setup.php:345 ../../mod/connect.php:92 -#: ../../mod/sources.php:97 ../../mod/sources.php:131 ../../mod/admin.php:420 -#: ../../mod/admin.php:686 ../../mod/admin.php:826 ../../mod/admin.php:1025 -#: ../../mod/admin.php:1112 ../../mod/group.php:81 ../../mod/photos.php:677 -#: ../../mod/photos.php:782 ../../mod/photos.php:1042 +#: ../../mod/thing.php:276 ../../mod/thing.php:318 ../../mod/invite.php:156 +#: ../../mod/connedit.php:434 ../../mod/setup.php:302 ../../mod/setup.php:345 +#: ../../mod/connect.php:92 ../../mod/sources.php:97 ../../mod/sources.php:131 +#: ../../mod/admin.php:420 ../../mod/admin.php:686 ../../mod/admin.php:826 +#: ../../mod/admin.php:1025 ../../mod/admin.php:1112 ../../mod/group.php:81 +#: ../../mod/photos.php:677 ../../mod/photos.php:782 ../../mod/photos.php:1042 #: ../../mod/photos.php:1082 ../../mod/photos.php:1169 #: ../../mod/profiles.php:518 ../../mod/import.php:387 #: ../../mod/settings.php:507 ../../mod/settings.php:619 @@ -3060,11 +3062,11 @@ msgid "" msgstr "" #: ../../include/items.php:201 ../../mod/like.php:55 ../../mod/group.php:68 -#: ../../mod/profperm.php:19 ../../index.php:345 +#: ../../mod/profperm.php:19 ../../index.php:343 msgid "Permission denied" msgstr "" -#: ../../include/items.php:3375 ../../mod/admin.php:150 +#: ../../include/items.php:3375 ../../mod/thing.php:74 ../../mod/admin.php:150 #: ../../mod/admin.php:730 ../../mod/admin.php:933 ../../mod/viewsrc.php:18 #: ../../mod/home.php:63 ../../mod/display.php:32 msgid "Item not found." @@ -3173,45 +3175,57 @@ msgstr "" msgid "Share this event" msgstr "" -#: ../../mod/thing.php:109 +#: ../../mod/thing.php:94 +msgid "Thing updated" +msgstr "" + +#: ../../mod/thing.php:153 msgid "Object store: failed" msgstr "" -#: ../../mod/thing.php:113 -msgid "thing/stuff added" +#: ../../mod/thing.php:157 +msgid "Thing added" msgstr "" -#: ../../mod/thing.php:129 +#: ../../mod/thing.php:175 #, php-format msgid "OBJ: %1$s %2$s %3$s" msgstr "" -#: ../../mod/thing.php:175 -msgid "not yet implemented." +#: ../../mod/thing.php:228 +msgid "Show Thing" msgstr "" -#: ../../mod/thing.php:181 -msgid "Add Stuff to your Profile" +#: ../../mod/thing.php:235 +msgid "item not found." msgstr "" -#: ../../mod/thing.php:183 +#: ../../mod/thing.php:263 +msgid "Edit Thing" +msgstr "" + +#: ../../mod/thing.php:265 ../../mod/thing.php:311 msgid "Select a profile" msgstr "" -#: ../../mod/thing.php:185 +#: ../../mod/thing.php:267 ../../mod/thing.php:313 msgid "Select a category of stuff. e.g. I ______ something" msgstr "" -#: ../../mod/thing.php:187 -msgid "Name of thing or stuff e.g. something" +#: ../../mod/thing.php:270 ../../mod/thing.php:315 +msgid "Name of thing e.g. something" +msgstr "" + +#: ../../mod/thing.php:272 ../../mod/thing.php:316 +msgid "URL of thing (optional)" msgstr "" -#: ../../mod/thing.php:188 -msgid "URL of thing or stuff (optional)" +#: ../../mod/thing.php:274 ../../mod/thing.php:317 +msgid "URL for photo of thing (optional)" msgstr "" -#: ../../mod/thing.php:189 -msgid "URL for photo of thing or stuff (optional)" +#: ../../mod/thing.php:309 +msgid "Add Thing to your Profile" msgstr "" #: ../../mod/invite.php:25 @@ -3666,7 +3680,7 @@ msgid "Channel not found." msgstr "" #: ../../mod/page.php:83 ../../mod/help.php:71 ../../mod/display.php:100 -#: ../../index.php:229 +#: ../../index.php:227 msgid "Page not found." msgstr "" @@ -5239,7 +5253,7 @@ msgstr "" msgid "Help:" msgstr "" -#: ../../mod/help.php:68 ../../index.php:226 +#: ../../mod/help.php:68 ../../index.php:224 msgid "Not Found" msgstr "" @@ -5550,6 +5564,14 @@ msgstr "" msgid "Edit/Manage Profiles" msgstr "" +#: ../../mod/profiles.php:613 +msgid "Add profile things" +msgstr "" + +#: ../../mod/profiles.php:614 +msgid "Include desirable objects in your profile" +msgstr "" + #: ../../mod/new_channel.php:107 msgid "Add a Channel" msgstr "" @@ -6418,7 +6440,7 @@ msgstr "" msgid "Make this post private" msgstr "" -#: ../../mod/wall_upload.php:41 ../../mod/item.php:1078 +#: ../../mod/wall_upload.php:41 ../../mod/item.php:1088 msgid "Wall Photos" msgstr "" @@ -6491,32 +6513,6 @@ msgstr "" msgid "All Contacts (with secure profile access)" msgstr "" -#: ../../mod/item.php:144 -msgid "Unable to locate original post." -msgstr "" - -#: ../../mod/item.php:342 -msgid "Empty post discarded." -msgstr "" - -#: ../../mod/item.php:384 -msgid "Executable content type not permitted to this channel." -msgstr "" - -#: ../../mod/item.php:794 -msgid "System error. Post not saved." -msgstr "" - -#: ../../mod/item.php:1157 -#, php-format -msgid "You have reached your limit of %1$.0f top level posts." -msgstr "" - -#: ../../mod/item.php:1163 -#, php-format -msgid "You have reached your limit of %1$.0f webpages." -msgstr "" - #: ../../mod/siteinfo.php:57 #, php-format msgid "Version %s" @@ -6709,6 +6705,32 @@ msgstr "" msgid "Remove My Account" msgstr "" +#: ../../mod/item.php:144 +msgid "Unable to locate original post." +msgstr "" + +#: ../../mod/item.php:342 +msgid "Empty post discarded." +msgstr "" + +#: ../../mod/item.php:384 +msgid "Executable content type not permitted to this channel." +msgstr "" + +#: ../../mod/item.php:806 +msgid "System error. Post not saved." +msgstr "" + +#: ../../mod/item.php:1167 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "" + +#: ../../mod/item.php:1173 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." +msgstr "" + #: ../../mod/mood.php:133 msgid "Mood" msgstr "" diff --git a/version.inc b/version.inc index 1ccd4beb1..7312c7541 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2014-01-02.545 +2014-01-03.546 |