Merge remote-tracking branch 'mike/master' into dev
This commit is contained in:
commit
29b0ed87d6
@ -16,7 +16,8 @@ class LDSignatures {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static function dopplesign(&$data,$channel) {
|
static function dopplesign(&$data,$channel) {
|
||||||
$data['magicEnv'] = self::salmon_sign($data,$channel);
|
// remove for the time being - performance issues
|
||||||
|
// $data['magicEnv'] = self::salmon_sign($data,$channel);
|
||||||
return self::sign($data,$channel);
|
return self::sign($data,$channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,12 @@ class NativeWikiPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static public function create_page($channel_id, $observer_hash, $name, $resource_id) {
|
static public function create_page($channel_id, $observer_hash, $name, $resource_id, $mimetype = 'text/bbcode') {
|
||||||
|
|
||||||
|
logger('mimetype: ' . $mimetype);
|
||||||
|
|
||||||
|
if(! in_array($mimetype,[ 'text/markdown','text/bbcode','text/plain','text/html' ]))
|
||||||
|
$mimetype = 'text/markdown';
|
||||||
|
|
||||||
$w = Zlib\NativeWiki::get_wiki($channel_id, $observer_hash, $resource_id);
|
$w = Zlib\NativeWiki::get_wiki($channel_id, $observer_hash, $resource_id);
|
||||||
|
|
||||||
@ -68,6 +73,7 @@ class NativeWikiPage {
|
|||||||
$arr = [];
|
$arr = [];
|
||||||
$arr['uid'] = $channel_id;
|
$arr['uid'] = $channel_id;
|
||||||
$arr['author_xchan'] = $observer_hash;
|
$arr['author_xchan'] = $observer_hash;
|
||||||
|
$arr['mimetype'] = $mimetype;
|
||||||
$arr['resource_type'] = 'nwikipage';
|
$arr['resource_type'] = 'nwikipage';
|
||||||
$arr['resource_id'] = $resource_id;
|
$arr['resource_id'] = $resource_id;
|
||||||
$arr['allow_cid'] = $w['wiki']['allow_cid'];
|
$arr['allow_cid'] = $w['wiki']['allow_cid'];
|
||||||
@ -169,6 +175,7 @@ class NativeWikiPage {
|
|||||||
return [
|
return [
|
||||||
'content' => $content,
|
'content' => $content,
|
||||||
'mimeType' => $w['mimeType'],
|
'mimeType' => $w['mimeType'],
|
||||||
|
'pageMimeType' => $item['mimetype'],
|
||||||
'message' => '',
|
'message' => '',
|
||||||
'success' => true
|
'success' => true
|
||||||
];
|
];
|
||||||
@ -333,7 +340,6 @@ class NativeWikiPage {
|
|||||||
return array('message' => t('Error reading wiki'), 'success' => false);
|
return array('message' => t('Error reading wiki'), 'success' => false);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mimetype = $w['mimeType'];
|
|
||||||
|
|
||||||
// fetch the most recently saved revision.
|
// fetch the most recently saved revision.
|
||||||
|
|
||||||
@ -342,6 +348,8 @@ class NativeWikiPage {
|
|||||||
return array('message' => t('Page not found'), 'success' => false);
|
return array('message' => t('Page not found'), 'success' => false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$mimetype = $item['mimetype'];
|
||||||
|
|
||||||
// change just the fields we need to change to create a revision;
|
// change just the fields we need to change to create a revision;
|
||||||
|
|
||||||
unset($item['id']);
|
unset($item['id']);
|
||||||
|
@ -259,7 +259,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
goaway(z_root() . '/' . argv(0) . '/' . argv(1) );
|
goaway(z_root() . '/' . argv(0) . '/' . argv(1) );
|
||||||
}
|
}
|
||||||
|
|
||||||
$mimeType = $p['mimeType'];
|
$mimeType = $p['pageMimeType'];
|
||||||
|
|
||||||
$sampleContent = (($mimeType == 'text/bbcode') ? '[h3]' . t('New page') . '[/h3]' : '### ' . t('New page'));
|
$sampleContent = (($mimeType == 'text/bbcode') ? '[h3]' . t('New page') . '[/h3]' : '### ' . t('New page'));
|
||||||
|
|
||||||
@ -323,7 +323,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
'$modalerroralbum' => t('Error getting album'),
|
'$modalerroralbum' => t('Error getting album'),
|
||||||
));
|
));
|
||||||
|
|
||||||
if($p['mimeType'] != 'text/bbcode')
|
if($p['pageMimeType'] != 'text/bbcode')
|
||||||
head_add_js('/library/ace/ace.js'); // Ace Code Editor
|
head_add_js('/library/ace/ace.js'); // Ace Code Editor
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
@ -347,11 +347,12 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
if((argc() > 2) && (argv(2) === 'preview')) {
|
if((argc() > 2) && (argv(2) === 'preview')) {
|
||||||
$content = $_POST['content'];
|
$content = $_POST['content'];
|
||||||
$resource_id = $_POST['resource_id'];
|
$resource_id = $_POST['resource_id'];
|
||||||
|
|
||||||
$w = Zlib\NativeWiki::get_wiki($owner['channel_id'],$observer_hash,$resource_id);
|
$w = Zlib\NativeWiki::get_wiki($owner['channel_id'],$observer_hash,$resource_id);
|
||||||
|
|
||||||
$wikiURL = argv(0) . '/' . argv(1) . '/' . $w['urlName'];
|
$wikiURL = argv(0) . '/' . argv(1) . '/' . $w['urlName'];
|
||||||
|
|
||||||
$mimeType = $w['mimeType'];
|
$mimeType = $_POST['mimetype'];
|
||||||
|
|
||||||
if($mimeType == 'text/bbcode') {
|
if($mimeType == 'text/bbcode') {
|
||||||
$html = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))),$wikiURL);
|
$html = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))),$wikiURL);
|
||||||
@ -406,7 +407,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
$r = Zlib\NativeWiki::create_wiki($owner, $observer_hash, $wiki, $acl);
|
$r = Zlib\NativeWiki::create_wiki($owner, $observer_hash, $wiki, $acl);
|
||||||
if($r['success']) {
|
if($r['success']) {
|
||||||
Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$r['item_id'],$r['item']['resource_id']);
|
Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$r['item_id'],$r['item']['resource_id']);
|
||||||
$homePage = Zlib\NativeWikiPage::create_page($owner['channel_id'],$observer_hash,'Home', $r['item']['resource_id']);
|
$homePage = Zlib\NativeWikiPage::create_page($owner['channel_id'],$observer_hash,'Home', $r['item']['resource_id'], $wiki['mimeType']);
|
||||||
if(! $homePage['success']) {
|
if(! $homePage['success']) {
|
||||||
notice( t('Wiki created, but error creating Home page.'));
|
notice( t('Wiki created, but error creating Home page.'));
|
||||||
goaway(z_root() . '/wiki/' . $nick . '/' . $wiki['urlName']);
|
goaway(z_root() . '/wiki/' . $nick . '/' . $wiki['urlName']);
|
||||||
@ -445,11 +446,13 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
// Create a page
|
// Create a page
|
||||||
if ((argc() === 4) && (argv(2) === 'create') && (argv(3) === 'page')) {
|
if ((argc() === 4) && (argv(2) === 'create') && (argv(3) === 'page')) {
|
||||||
|
|
||||||
|
$mimetype = $_POST['mimetype'];
|
||||||
|
|
||||||
$resource_id = $_POST['resource_id'];
|
$resource_id = $_POST['resource_id'];
|
||||||
// Determine if observer has permission to create a page
|
// Determine if observer has permission to create a page
|
||||||
|
|
||||||
|
|
||||||
$perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
|
$perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash, $mimetype);
|
||||||
if(! $perms['write']) {
|
if(! $perms['write']) {
|
||||||
logger('Wiki write permission denied. ' . EOL);
|
logger('Wiki write permission denied. ' . EOL);
|
||||||
json_return_and_die(array('success' => false));
|
json_return_and_die(array('success' => false));
|
||||||
@ -459,7 +462,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
if(urlencode(escape_tags($_POST['pageName'])) === '') {
|
if(urlencode(escape_tags($_POST['pageName'])) === '') {
|
||||||
json_return_and_die(array('message' => 'Error creating page. Invalid name.', 'success' => false));
|
json_return_and_die(array('message' => 'Error creating page. Invalid name.', 'success' => false));
|
||||||
}
|
}
|
||||||
$page = Zlib\NativeWikiPage::create_page($owner['channel_id'],$observer_hash, $name, $resource_id);
|
$page = Zlib\NativeWikiPage::create_page($owner['channel_id'],$observer_hash, $name, $resource_id, $mimetype);
|
||||||
|
|
||||||
if($page['item_id']) {
|
if($page['item_id']) {
|
||||||
$commit = Zlib\NativeWikiPage::commit(array(
|
$commit = Zlib\NativeWikiPage::commit(array(
|
||||||
|
@ -50,6 +50,7 @@ class Wiki_pages {
|
|||||||
'$canadd' => $can_create,
|
'$canadd' => $can_create,
|
||||||
'$candel' => $can_delete,
|
'$candel' => $can_delete,
|
||||||
'$addnew' => t('Add new page'),
|
'$addnew' => t('Add new page'),
|
||||||
|
'$mimetype' => mimetype_select(0,$p['mimeType'], [ 'text/markdown','text/bbcode' ]),
|
||||||
'$pageName' => array('pageName', t('Page name')),
|
'$pageName' => array('pageName', t('Page name')),
|
||||||
'$refresh' => $arr['refresh']
|
'$refresh' => $arr['refresh']
|
||||||
));
|
));
|
||||||
|
2
boot.php
2
boot.php
@ -52,7 +52,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
|
|||||||
define ( 'STD_VERSION', '2.7.2' );
|
define ( 'STD_VERSION', '2.7.2' );
|
||||||
define ( 'ZOT_REVISION', '1.3' );
|
define ( 'ZOT_REVISION', '1.3' );
|
||||||
|
|
||||||
define ( 'DB_UPDATE_VERSION', 1194 );
|
define ( 'DB_UPDATE_VERSION', 1195 );
|
||||||
|
|
||||||
define ( 'PROJECT_BASE', __DIR__ );
|
define ( 'PROJECT_BASE', __DIR__ );
|
||||||
|
|
||||||
|
@ -411,7 +411,7 @@ function http_status($val, $msg = '') {
|
|||||||
if ($val >= 200 && $val < 300)
|
if ($val >= 200 && $val < 300)
|
||||||
$msg = (($msg) ? $msg : 'OK');
|
$msg = (($msg) ? $msg : 'OK');
|
||||||
|
|
||||||
logger('' . $val . ' ' . $msg);
|
logger(\App::$query_string . ':' . $val . ' ' . $msg);
|
||||||
header($_SERVER['SERVER_PROTOCOL'] . ' ' . $val . ' ' . $msg);
|
header($_SERVER['SERVER_PROTOCOL'] . ' ' . $val . ' ' . $msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1786,15 +1786,15 @@ function layout_select($channel_id, $current = '') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function mimetype_select($channel_id, $current = 'text/bbcode') {
|
function mimetype_select($channel_id, $current = 'text/bbcode', $choices = null, $element = 'mimetype') {
|
||||||
|
|
||||||
$x = array(
|
$x = (($choices) ? $choices : [
|
||||||
'text/bbcode',
|
'text/bbcode',
|
||||||
'text/html',
|
'text/html',
|
||||||
'text/markdown',
|
'text/markdown',
|
||||||
'text/plain',
|
'text/plain',
|
||||||
'application/x-pdl'
|
'application/x-pdl'
|
||||||
);
|
]);
|
||||||
|
|
||||||
|
|
||||||
if((App::$is_sys) || (channel_codeallowed($channel_id) && $channel_id == local_channel())){
|
if((App::$is_sys) || (channel_codeallowed($channel_id) && $channel_id == local_channel())){
|
||||||
@ -1807,7 +1807,7 @@ function mimetype_select($channel_id, $current = 'text/bbcode') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$o = replace_macros(get_markup_template('field_select_raw.tpl'), array(
|
$o = replace_macros(get_markup_template('field_select_raw.tpl'), array(
|
||||||
'$field' => array('mimetype', t('Page content type'), $selected, '', $options)
|
'$field' => array( $element, t('Page content type'), $selected, '', $options)
|
||||||
));
|
));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1194 );
|
define( 'UPDATE_VERSION' , 1195 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -2992,3 +2992,19 @@ function update_r1193() {
|
|||||||
return UPDATE_SUCCESS;
|
return UPDATE_SUCCESS;
|
||||||
return UPDATE_FAILED;
|
return UPDATE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function update_r1194() {
|
||||||
|
$r = q("select id, resource_id from item where resource_type = 'nwiki'");
|
||||||
|
if($r) {
|
||||||
|
foreach($r as $rv) {
|
||||||
|
$mimetype = get_iconfig($rv['id'],'wiki','mimeType');
|
||||||
|
q("update item set mimetype = '%s' where resource_type = 'nwikipage' and resource_id = '%s'",
|
||||||
|
dbesc($mimetype),
|
||||||
|
dbesc($rv['resource_id'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return UPDATE_SUCCESS;
|
||||||
|
}
|
@ -183,7 +183,8 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
content: editor.val(),
|
content: editor.val(),
|
||||||
{{/if}}
|
{{/if}}
|
||||||
resource_id: window.wiki_resource_id
|
resource_id: window.wiki_resource_id,
|
||||||
|
mimetype: '{{$mimeType}}'
|
||||||
},
|
},
|
||||||
function (data) {
|
function (data) {
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
<div id="new-page-form-wrapper" class="sub-menu" style="display:none;">
|
<div id="new-page-form-wrapper" class="sub-menu" style="display:none;">
|
||||||
<form id="new-page-form" action="wiki/{{$channel_address}}/create/page" method="post" >
|
<form id="new-page-form" action="wiki/{{$channel_address}}/create/page" method="post" >
|
||||||
<input type="hidden" name="resource_id" value="{{$resource_id}}">
|
<input type="hidden" name="resource_id" value="{{$resource_id}}">
|
||||||
|
{{$mimetype}}
|
||||||
{{include file="field_input.tpl" field=$pageName}}
|
{{include file="field_input.tpl" field=$pageName}}
|
||||||
<button id="new-page-submit" class="btn btn-primary" type="submit" name="submit" >Submit</button>
|
<button id="new-page-submit" class="btn btn-primary" type="submit" name="submit" >Submit</button>
|
||||||
</form>
|
</form>
|
||||||
@ -33,7 +34,7 @@
|
|||||||
{{if $canadd}}
|
{{if $canadd}}
|
||||||
<script>
|
<script>
|
||||||
$('#new-page-submit').click(function (ev) {
|
$('#new-page-submit').click(function (ev) {
|
||||||
$.post("wiki/{{$channel_address}}/create/page", {pageName: $('#id_pageName').val(), resource_id: window.wiki_resource_id},
|
$.post("wiki/{{$channel_address}}/create/page", {pageName: $('#id_pageName').val(), resource_id: window.wiki_resource_id, mimetype: $('#id_mimetype').val() },
|
||||||
function(data) {
|
function(data) {
|
||||||
if(data.success) {
|
if(data.success) {
|
||||||
window.location = data.url;
|
window.location = data.url;
|
||||||
|
Reference in New Issue
Block a user