Merge branch 'dev' of https://github.com/redmatrix/hubzilla into dev_merge

This commit is contained in:
zotlabs 2017-06-06 17:39:43 -07:00
commit 40b9130c63
11 changed files with 88 additions and 92 deletions

View File

@ -8,7 +8,7 @@ class Randprof extends \Zotlabs\Web\Controller {
function init() { function init() {
$x = random_profile(); $x = random_profile();
if($x) if($x)
goaway(chanlink_url($x)); goaway(chanlink_hash($x));
/** FIXME this doesn't work at the moment as a fallback */ /** FIXME this doesn't work at the moment as a fallback */
goaway(z_root() . '/profile'); goaway(z_root() . '/profile');

View File

@ -207,8 +207,9 @@ class Wiki extends \Zotlabs\Web\Controller {
$ignore_language = true; $ignore_language = true;
continue; continue;
} }
if($page_name) if($page_name) {
$page_name .= '/'; $page_name .= '/';
}
$page_name .= argv($x); $page_name .= argv($x);
} }
@ -296,7 +297,8 @@ class Wiki extends \Zotlabs\Web\Controller {
'$showPageControls' => $showPageControls, '$showPageControls' => $showPageControls,
'$editOrSourceLabel' => (($showPageControls) ? t('Edit') : t('Source')), '$editOrSourceLabel' => (($showPageControls) ? t('Edit') : t('Source')),
'$tools_label' => 'Page Tools', '$tools_label' => 'Page Tools',
'$channel' => $owner['channel_address'], '$channel_address' => $owner['channel_address'],
'$channel_id' => $owner['channel_id'],
'$resource_id' => $resource_id, '$resource_id' => $resource_id,
'$page' => $pageUrlName, '$page' => $pageUrlName,
'$mimeType' => $mimeType, '$mimeType' => $mimeType,
@ -495,10 +497,12 @@ class Wiki extends \Zotlabs\Web\Controller {
$x = new \Zotlabs\Widget\Wiki_pages(); $x = new \Zotlabs\Widget\Wiki_pages();
$page_list_html = $x->widget(array( $page_list_html = $x->widget([
'resource_id' => $resource_id, 'resource_id' => $resource_id,
'refresh' => true, 'channel_id' => $owner['channel_id'],
'channel' => argv(1))); 'channel_address' => $owner['channel_address'],
'refresh' => true
]);
json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true)); json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true));
} }

View File

@ -7,29 +7,31 @@ class Wiki_pages {
function widget($arr) { function widget($arr) {
$channelname = ((array_key_exists('channel',$arr)) ? $arr['channel'] : ''); if(argc() < 3)
$c = channelx_by_nick($channelname); return;
if(! $arr['resource_id']) {
if(! $c)
$c = \App::get_channel(); $c = \App::get_channel();
if(! $c) if(! $c)
return ''; $c = channelx_by_nick(argv(1));
$w = \Zotlabs\Lib\NativeWiki::exists_by_name($c['channel_id'],argv(2));
$arr = array(
'resource_id' => $w['resource_id'],
'channel_id' => $c['channel_id'],
'channel_address' => $c['channel_address'],
'refresh' => false
);
}
$wikiname = ''; $wikiname = '';
if(array_key_exists('refresh', $arr)) {
$not_refresh = (($arr['refresh']=== true) ? false : true);
}
else {
$not_refresh = true;
}
$pages = array(); $pages = array();
if(! array_key_exists('resource_id', $arr)) {
$hide = true; $p = \Zotlabs\Lib\NativeWikiPage::page_list($arr['channel_id'],get_observer_hash(),$arr['resource_id']);
}
else {
$p = \Zotlabs\Lib\NativeWikiPage::page_list($c['channel_id'],get_observer_hash(),$arr['resource_id']);
if($p['pages']) { if($p['pages']) {
$pages = $p['pages']; $pages = $p['pages'];
@ -40,25 +42,22 @@ class Wiki_pages {
$wikiname = ''; $wikiname = '';
} }
} }
}
$can_create = perm_is_allowed(\App::$profile['uid'],get_observer_hash(),'write_wiki'); $can_create = perm_is_allowed(\App::$profile['uid'],get_observer_hash(),'write_wiki');
$can_delete = ((local_channel() && (local_channel() == \App::$profile['uid'])) ? true : false); $can_delete = ((local_channel() && (local_channel() == \App::$profile['uid'])) ? true : false);
return replace_macros(get_markup_template('wiki_page_list.tpl'), array( return replace_macros(get_markup_template('wiki_page_list.tpl'), array(
'$hide' => $hide,
'$resource_id' => $arr['resource_id'], '$resource_id' => $arr['resource_id'],
'$not_refresh' => $not_refresh,
'$header' => t('Wiki Pages'), '$header' => t('Wiki Pages'),
'$channel' => $channelname, '$channel_address' => $arr['channel_address'],
'$wikiname' => $wikiname, '$wikiname' => $wikiname,
'$pages' => $pages, '$pages' => $pages,
'$canadd' => $can_create, '$canadd' => $can_create,
'$candel' => $can_delete, '$candel' => $can_delete,
'$addnew' => t('Add new page'), '$addnew' => t('Add new page'),
'$pageName' => array('pageName', t('Page name')), '$pageName' => array('pageName', t('Page name')),
'$refresh' => $arr['refresh']
)); ));
} }
} }

View File

@ -415,9 +415,9 @@ function random_profile() {
for($i = 0; $i < $retryrandom; $i++) { for($i = 0; $i < $retryrandom; $i++) {
$r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_addr not like '%s' and xchan_hidden = 0 and hubloc_connected > %s - interval %s order by $randfunc limit 1", $r = q("select xchan_url, xchan_hash from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_hidden = 0 and xchan_system = 0 and hubloc_connected > %s - interval %s order by $randfunc limit 1",
dbesc('sys@%'), db_utcnow(),
db_utcnow(), db_quoteinterval('30 day') db_quoteinterval('30 day')
); );
if(!$r) return ''; // Couldn't get a random channel if(!$r) return ''; // Couldn't get a random channel
@ -425,12 +425,12 @@ function random_profile() {
if($checkrandom) { if($checkrandom) {
$x = z_fetch_url($r[0]['xchan_url']); $x = z_fetch_url($r[0]['xchan_url']);
if($x['success']) if($x['success'])
return $r[0]['xchan_url']; return $r[0]['xchan_hash'];
else else
logger('Random channel turned out to be bad.'); logger('Random channel turned out to be bad.');
} }
else { else {
return $r[0]['xchan_url']; return $r[0]['xchan_hash'];
} }
} }

View File

@ -215,18 +215,6 @@ EOT;
$nav['admin'] = array('admin/', t('Admin'), "", t('Site Setup and Configuration'),'admin_nav_btn'); $nav['admin'] = array('admin/', t('Admin'), "", t('Site Setup and Configuration'),'admin_nav_btn');
} }
/**
*
* Provide a banner/logo/whatever
*
*/
$banner = get_config('system','banner');
if($banner === false)
$banner = get_config('system','sitename');
$x = array('nav' => $nav, 'usermenu' => $userinfo ); $x = array('nav' => $nav, 'usermenu' => $userinfo );
call_hooks('nav', $x); call_hooks('nav', $x);

View File

@ -5,10 +5,20 @@ namespace Zotlabs\Theme;
class RedbasicConfig { class RedbasicConfig {
function get_schemas() { function get_schemas() {
$scheme_choices = array();
$scheme_choices["---"] = t("Focus (Hubzilla default)");
$files = glob('view/theme/redbasic/schema/*.php'); $files = glob('view/theme/redbasic/schema/*.php');
$scheme_choices = [];
if($files) { if($files) {
if(in_array('view/theme/redbasic/schema/default.php', $files)) {
$scheme_choices['---'] = t('Default');
$scheme_choices['focus'] = t('Focus (Hubzilla default)');
}
else {
$scheme_choices['---'] = t('Focus (Hubzilla default)');
}
foreach($files as $file) { foreach($files as $file) {
$f = basename($file, ".php"); $f = basename($file, ".php");
if($f != 'default') { if($f != 'default') {
@ -17,6 +27,7 @@ class RedbasicConfig {
} }
} }
} }
return $scheme_choices; return $scheme_choices;
} }

View File

@ -56,10 +56,9 @@ if (($schema) && ($schema != '---')) {
} }
// If we haven't got a schema, load the default. We shouldn't touch this - we // Allow admins to set a default schema for the hub.
// should leave it for admins to define for themselves. // default.php and default.css MUST be symlinks to existing schema files in view/theme/redbasic/schema
// default.php and default.css MUST be symlinks to existing schema files. if ((!$schema) || ($schema == '---')) {
if (! $schema) {
if(file_exists('view/theme/redbasic/schema/default.php')) { if(file_exists('view/theme/redbasic/schema/default.php')) {
$schemefile = 'view/theme/redbasic/schema/default.php'; $schemefile = 'view/theme/redbasic/schema/default.php';

View File

@ -270,24 +270,18 @@ nav .dropdown-menu {
background: #999; background: #999;
} }
.nav-tabs{ .nav-tabs {
border-bottom:1px solid #333; border-bottom:1px solid #333;
} }
.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{ .nav-tabs .nav-link.active {
border:1px solid #333;
}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus {
color: #fff; color: #fff;
background-color: #111; background-color: #111;
border-color: #333;
} }
.nav-tabs.nav-justified > li > a { .nav-tabs .nav-link:hover,
color: #ccc; .nav-tabs .nav-link:focus {
}
.nav-tabs > li > a:hover, .nav-tabs > li > a:focus {
text-decoration: underline; text-decoration: underline;
background-color: #222; background-color: #222;
color: #ccc; color: #ccc;

View File

@ -233,7 +233,7 @@
{{if $localuser}} {{if $localuser}}
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="nav-link" href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a> <a class="nav-link" href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a>
<a class="dropdown-item" href="/apporder"><i class="generic-icons-nav fa fa-fw fa-sort"></i>{{$orderapps}}</a> <a class="nav-link" href="/apporder"><i class="generic-icons-nav fa fa-fw fa-sort"></i>{{$orderapps}}</a>
{{/if}} {{/if}}
</div> </div>
</div> </div>

View File

@ -115,7 +115,7 @@
}); });
$( "#rename-page-form" ).submit(function( event ) { $( "#rename-page-form" ).submit(function( event ) {
$.post("wiki/{{$channel}}/rename/page", $.post("wiki/{{$channel_address}}/rename/page",
{ {
oldName: window.wiki_page_name, oldName: window.wiki_page_name,
newName: $('#id_pageRename').val(), newName: $('#id_pageRename').val(),
@ -177,7 +177,7 @@
}); });
$('#wiki-get-preview').click(function (ev) { $('#wiki-get-preview').click(function (ev) {
$.post("wiki/{{$channel}}/preview", { $.post("wiki/{{$channel_address}}/preview", {
{{if !$mimeType || $mimeType == 'text/markdown'}} {{if !$mimeType || $mimeType == 'text/markdown'}}
content: editor.getValue(), content: editor.getValue(),
{{else}} {{else}}
@ -200,7 +200,7 @@
}); });
$('#wiki-get-history').click(function (ev) { $('#wiki-get-history').click(function (ev) {
$.post("wiki/{{$channel}}/history/page", {name: window.wiki_page_name, resource_id: window.wiki_resource_id}, function (data) { $.post("wiki/{{$channel_address}}/history/page", {name: window.wiki_page_name, resource_id: window.wiki_resource_id}, function (data) {
if (data.success) { if (data.success) {
$('#page-history-list').html(data.historyHTML); $('#page-history-list').html(data.historyHTML);
$('#page-tools').hide(); $('#page-tools').hide();
@ -215,10 +215,9 @@
if (window.wiki_resource_id === '') { if (window.wiki_resource_id === '') {
return false; return false;
} }
$.post("wiki/{{$channel}}/get/page/list/", {resource_id: window.wiki_resource_id}, function (data) { $.post("wiki/{{$channel_address}}/get/page/list/", {channel_id: '{{$channel_id}}', resource_id: window.wiki_resource_id}, function (data) {
if (data.success) { if (data.success) {
$('#wiki_page_list_container').html(data.pages); $('#wiki_page_list').html(data.pages);
$('#wiki_page_list_container').show();
} else { } else {
alert('Error fetching page list!'); alert('Error fetching page list!');
window.console.log('Error fetching page list!'); window.console.log('Error fetching page list!');
@ -245,7 +244,7 @@
ev.preventDefault(); ev.preventDefault();
return false; return false;
} }
$.post("wiki/{{$channel}}/save/page", { $.post("wiki/{{$channel_address}}/save/page", {
content: currentContent, content: currentContent,
commitMsg: $('#id_commitMsg').val(), commitMsg: $('#id_commitMsg').val(),
name: window.wiki_page_name, name: window.wiki_page_name,
@ -276,7 +275,7 @@
window.console.log('You must have a wiki page open in order to revert pages.'); window.console.log('You must have a wiki page open in order to revert pages.');
return false; return false;
} }
$.post("wiki/{{$channel}}/revert/page", {commitHash: commitHash, name: window.wiki_page_name, resource_id: window.wiki_resource_id}, $.post("wiki/{{$channel_address}}/revert/page", {commitHash: commitHash, name: window.wiki_page_name, resource_id: window.wiki_resource_id},
function (data) { function (data) {
if (data.success) { if (data.success) {
$('button[id^=revert-]').removeClass('btn-success'); $('button[id^=revert-]').removeClass('btn-success');
@ -299,7 +298,7 @@
window.console.log('You must have a wiki page open in order to revert pages.'); window.console.log('You must have a wiki page open in order to revert pages.');
return false; return false;
} }
$.post("wiki/{{$channel}}/compare/page", { $.post("wiki/{{$channel_address}}/compare/page", {
compareCommit: compareCommit, compareCommit: compareCommit,
currentCommit: window.wiki_page_commit, currentCommit: window.wiki_page_commit,
name: window.wiki_page_name, name: window.wiki_page_name,
@ -442,8 +441,6 @@
}; };
$(document).ready(function () { $(document).ready(function () {
wiki_refresh_page_list();
{{if !$mimeType || $mimeType == 'text/markdown'}} {{if !$mimeType || $mimeType == 'text/markdown'}}
$("#wiki-toc").toc({content: "#wiki-preview", headings: "h1,h2,h3,h4"}); $("#wiki-toc").toc({content: "#wiki-preview", headings: "h1,h2,h3,h4"});
window.editor.on("input", function() { window.editor.on("input", function() {

View File

@ -1,5 +1,6 @@
{{if $not_refresh}}<div id="wiki_page_list_container" {{if $hide}} style="display: none;" {{/if}}>{{/if}} {{if ! $refresh}}
<div id="wiki_page_list" class="widget" > <div id="wiki_page_list" class="widget" >
{{/if}}
<h3>{{$header}}</h3> <h3>{{$header}}</h3>
<ul class="nav nav-pills flex-column"> <ul class="nav nav-pills flex-column">
{{if $pages}} {{if $pages}}
@ -8,7 +9,7 @@
{{if $page.resource_id && $candel}} {{if $page.resource_id && $candel}}
<i class="nav-link widget-nav-pills-icons fa fa-trash-o drop-icons" onclick="wiki_delete_page('{{$page.title}}', '{{$page.url}}', '{{$page.resource_id}}', '{{$page.link_id}}')"></i> <i class="nav-link widget-nav-pills-icons fa fa-trash-o drop-icons" onclick="wiki_delete_page('{{$page.title}}', '{{$page.url}}', '{{$page.resource_id}}', '{{$page.link_id}}')"></i>
{{/if}} {{/if}}
<a class="nav-link" href="/wiki/{{$channel}}/{{$wikiname}}/{{$page.url}}">{{$page.title}}</a> <a class="nav-link" href="/wiki/{{$channel_address}}/{{$wikiname}}/{{$page.url}}">{{$page.title}}</a>
</li> </li>
{{/foreach}} {{/foreach}}
{{/if}} {{/if}}
@ -18,19 +19,21 @@
</ul> </ul>
{{if $canadd}} {{if $canadd}}
<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}}/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}}">
{{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>
</div> </div>
{{/if}} {{/if}}
{{if ! $refresh}}
</div> </div>
{{if $not_refresh}}</div>{{/if}} {{/if}}
{{if $canadd}}
<script> <script>
$('#new-page-submit').click(function (ev) { $('#new-page-submit').click(function (ev) {
$.post("wiki/{{$channel}}/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},
function(data) { function(data) {
if(data.success) { if(data.success) {
window.location = data.url; window.location = data.url;
@ -45,7 +48,7 @@
if(!confirm('Are you sure you want to delete the page: ' + wiki_page_name)) { if(!confirm('Are you sure you want to delete the page: ' + wiki_page_name)) {
return; return;
} }
$.post("wiki/{{$channel}}/delete/page", {name: wiki_page_url, resource_id: wiki_resource_id}, $.post("wiki/{{$channel_address}}/delete/page", {name: wiki_page_url, resource_id: wiki_resource_id},
function (data) { function (data) {
if (data.success) { if (data.success) {
window.console.log('Page deleted successfully.'); window.console.log('Page deleted successfully.');
@ -74,3 +77,4 @@
return false; return false;
} }
</script> </script>
{{/if}}