mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 04:15:12 +00:00
Merge branch 'dev' of https://github.com/redmatrix/hubzilla into dev_merge
This commit is contained in:
commit
5fbba27d17
5 changed files with 61 additions and 12 deletions
|
@ -91,6 +91,35 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||
$channel_acl = $x = array();
|
||||
}
|
||||
|
||||
// Download a wiki
|
||||
if ((argc() > 3) && (argv(2) === 'download') && (argv(3) === 'wiki')) {
|
||||
$resource_id = argv(4);
|
||||
$w = wiki_get_wiki($resource_id);
|
||||
if (!$w['path']) {
|
||||
notice('Error retrieving wiki' . EOL);
|
||||
}
|
||||
$zip_folder_name = random_string(10);
|
||||
$zip_folderpath = '/tmp/' . $zip_folder_name;
|
||||
if (!mkdir($zip_folderpath, 0770, false)) {
|
||||
logger('Error creating zip file export folder: ' . $zip_folderpath, LOGGER_NORMAL);
|
||||
notice('Error creating zip file export folder' . EOL);
|
||||
}
|
||||
$zip_filename = $w['urlName'];
|
||||
$zip_filepath = '/tmp/' . $zip_folder_name . '/' . $zip_filename;
|
||||
// Generate the zip file
|
||||
\Zotlabs\Lib\ExtendedZip::zipTree($w['path'], $zip_filepath, \ZipArchive::CREATE);
|
||||
// Output the file for download
|
||||
header('Content-disposition: attachment; filename="' . $zip_filename . '.zip"');
|
||||
header("Content-Type: application/zip");
|
||||
$success = readfile($zip_filepath);
|
||||
if ($success) {
|
||||
rrmdir($zip_folderpath); // delete temporary files
|
||||
} else {
|
||||
rrmdir($zip_folderpath); // delete temporary files
|
||||
logger('Error downloading wiki: ' . $resource_id);
|
||||
}
|
||||
}
|
||||
|
||||
switch (argc()) {
|
||||
case 2:
|
||||
// Configure page template
|
||||
|
@ -297,6 +326,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Create a page
|
||||
if ((argc() === 4) && (argv(2) === 'create') && (argv(3) === 'page')) {
|
||||
$nick = argv(1);
|
||||
|
|
|
@ -244,8 +244,8 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
|
|||
$deny_gid = $c[0]['channel_deny_gid'];
|
||||
}
|
||||
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, folder, os_storage, filetype, filesize, revision, is_photo, content, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, folder, os_storage, filetype, filesize, revision, is_photo, content, created, edited, os_path, display_path, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($c[0]['channel_account_id']),
|
||||
intval($c[0]['channel_id']),
|
||||
dbesc($hash),
|
||||
|
@ -260,6 +260,8 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
|
|||
dbesc($f),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
'', //TODO: use os_path
|
||||
'', //TODO: use display_path
|
||||
dbesc($allow_cid),
|
||||
dbesc($allow_gid),
|
||||
dbesc($deny_cid),
|
||||
|
|
|
@ -704,6 +704,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
|
||||
// not yet used
|
||||
$os_path = '';
|
||||
$display_path = '';
|
||||
|
||||
if($src)
|
||||
@file_put_contents($os_basepath . $os_relpath,@file_get_contents($src));
|
||||
|
@ -719,7 +720,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
$edited = $created;
|
||||
|
||||
if($options === 'replace') {
|
||||
$r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', filesize = %d, os_storage = %d, is_photo = %d, content = '%s', edited = '%s', os_path = '%s' where id = %d and uid = %d",
|
||||
$r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', filesize = %d, os_storage = %d, is_photo = %d, content = '%s', edited = '%s', os_path = '%s', display_path = '%s' where id = %d and uid = %d",
|
||||
dbesc($filename),
|
||||
dbesc($mimetype),
|
||||
dbesc($folder_hash),
|
||||
|
@ -729,13 +730,14 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
dbesc($os_basepath . $os_relpath),
|
||||
dbesc($created),
|
||||
dbesc($os_path),
|
||||
dbesc($display_path),
|
||||
intval($existing_id),
|
||||
intval($channel_id)
|
||||
);
|
||||
}
|
||||
elseif($options === 'revise') {
|
||||
$r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, os_path, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
$r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, os_path, display_path, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($x[0]['aid']),
|
||||
intval($channel_id),
|
||||
dbesc($x[0]['hash']),
|
||||
|
@ -751,6 +753,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
dbesc($created),
|
||||
dbesc($created),
|
||||
dbesc($os_path),
|
||||
dbesc($display_path),
|
||||
dbesc($x[0]['allow_cid']),
|
||||
dbesc($x[0]['allow_gid']),
|
||||
dbesc($x[0]['deny_cid']),
|
||||
|
@ -759,7 +762,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
}
|
||||
elseif($options === 'update') {
|
||||
$r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', edited = '%s', os_storage = %d, is_photo = %d, os_path = '%s',
|
||||
allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where id = %d and uid = %d",
|
||||
display_path = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where id = %d and uid = %d",
|
||||
dbesc((array_key_exists('filename',$arr)) ? $arr['filename'] : $x[0]['filename']),
|
||||
dbesc((array_key_exists('filetype',$arr)) ? $arr['filetype'] : $x[0]['filetype']),
|
||||
dbesc(($folder_hash) ? $folder_hash : $x[0]['folder']),
|
||||
|
@ -767,6 +770,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
dbesc((array_key_exists('os_storage',$arr)) ? $arr['os_storage'] : $x[0]['os_storage']),
|
||||
dbesc((array_key_exists('is_photo',$arr)) ? $arr['is_photo'] : $x[0]['is_photo']),
|
||||
dbesc((array_key_exists('os_path',$arr)) ? $arr['os_path'] : $x[0]['os_path']),
|
||||
dbesc((array_key_exists('display_path',$arr)) ? $arr['display_path'] : $x[0]['display_path']),
|
||||
dbesc((array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : $x[0]['allow_cid']),
|
||||
dbesc((array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $x[0]['allow_gid']),
|
||||
dbesc((array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $x[0]['deny_cid']),
|
||||
|
@ -776,8 +780,9 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
);
|
||||
}
|
||||
else {
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, os_path, allow_cid, allow_gid,deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, os_path, display_path, allow_cid, allow_gid,deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($channel['channel_account_id']),
|
||||
intval($channel_id),
|
||||
dbesc($hash),
|
||||
|
@ -793,6 +798,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
dbesc($created),
|
||||
dbesc($created),
|
||||
dbesc($os_path),
|
||||
dbesc($display_path),
|
||||
dbesc(($arr && array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : $str_contact_allow),
|
||||
dbesc(($arr && array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $str_group_allow),
|
||||
dbesc(($arr && array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $str_contact_deny),
|
||||
|
@ -1037,8 +1043,12 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
|
|||
|
||||
$created = datetime_convert();
|
||||
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, folder, os_storage, is_dir, content, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
// not yet used
|
||||
$os_path = '';
|
||||
$display_path = '';
|
||||
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, folder, os_storage, is_dir, content, created, edited, os_path, display_path, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($channel['channel_account_id']),
|
||||
intval($channel_id),
|
||||
dbesc($arr['hash']),
|
||||
|
@ -1053,6 +1063,8 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
|
|||
dbesc($path),
|
||||
dbesc($created),
|
||||
dbesc($created),
|
||||
dbesc($os_path),
|
||||
dbesc($display_path),
|
||||
dbesc(($arr && array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : $channel['channel_allow_cid']),
|
||||
dbesc(($arr && array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $channel['channel_allow_gid']),
|
||||
dbesc(($arr && array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $channel['channel_deny_cid']),
|
||||
|
|
|
@ -240,6 +240,10 @@ function wiki_delete_wiki(wikiHtmlName, resource_id) {
|
|||
}
|
||||
|
||||
|
||||
function wiki_download_wiki(resource_id) {
|
||||
window.location = "wiki/{{$channel}}/download/wiki/" + resource_id;
|
||||
}
|
||||
|
||||
$('#new-page-submit').click(function (ev) {
|
||||
if (window.wiki_resource_id === '') {
|
||||
window.console.log('You must have a wiki open in order to create pages.');
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</a>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
<li><a href="/wiki/{{$channel}}/{{$wiki.urlName}}/Home" title="View {{$wiki.title}}">View</a></li>
|
||||
<li><a href="#" onclick="wiki_download_wiki('{{$wiki.resource_id}}'); return false;" title="Download {{$wiki.title}}">Download</a></li>
|
||||
{{if $showControls}}
|
||||
<li class="divider"></li>
|
||||
<li><a href="#" onclick="wiki_delete_wiki('{{$wiki.title}}','{{$wiki.resource_id}}'); return false;" title="Delete {{$wiki.title}}">Delete wiki</a></li>
|
||||
|
|
Loading…
Reference in a new issue