Merge pull request #9 from redmatrix/dev

Dev
This commit is contained in:
mrjive 2018-04-19 09:51:58 +02:00 committed by GitHub
commit c8ff773b96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 10703 additions and 10523 deletions

View File

@ -191,7 +191,7 @@ class Articles extends \Zotlabs\Web\Controller {
'$title' => t('Articles'),
'$editor' => $editor,
'$content' => $content,
'$pager' => alt_pager($a,$pager_total)
'$pager' => alt_pager($pager_total)
]);
return $o;

View File

@ -194,7 +194,7 @@ class Cards extends \Zotlabs\Web\Controller {
'$title' => t('Cards'),
'$editor' => $editor,
'$content' => $content,
'$pager' => alt_pager($a, $pager_total)
'$pager' => alt_pager($pager_total)
]);
return $o;

View File

@ -380,7 +380,7 @@ class Channel extends \Zotlabs\Web\Controller {
}
if((! $update) || ($checkjs->disabled())) {
$o .= alt_pager($a,count($items));
$o .= alt_pager(count($items));
if ($mid && $items[0]['title'])
\App::$page['title'] = $items[0]['title'] . " - " . \App::$page['title'];
}

View File

@ -355,6 +355,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
$o .= replace_macros($tpl,array(
'$user' => \App::$channel['channel_address'],
'$existing' => get_cover_photo(local_channel(),'array',PHOTO_RES_COVER_850),
'$lbl_upfile' => t('Upload File:'),
'$lbl_profiles' => t('Select a profile:'),
'$title' => t('Change Cover Photo'),

View File

@ -404,7 +404,7 @@ class Directory extends \Zotlabs\Web\Controller {
'$entries' => $entries,
'$dirlbl' => $suggest ? t('Channel Suggestions') : $dirtitle,
'$submit' => t('Find'),
'$next' => alt_pager($a,$j['records'], t('next page'), t('previous page')),
'$next' => alt_pager($j['records'], t('next page'), t('previous page')),
'$sort' => t('Sort options'),
'$normal' => t('Alphabetic'),
'$reverse' => t('Reverse Alphabetic'),

View File

@ -93,7 +93,7 @@ class Message extends \Zotlabs\Web\Controller {
));
$o .= alt_pager($a,count($r));
$o .= alt_pager(count($r));
return $o;

View File

@ -14,9 +14,12 @@ class Moderate extends \Zotlabs\Web\Controller {
return;
}
\App::set_pager_itemspage(60);
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
//show all items
if(argc() == 1) {
$r = q("select item.id as item_id, item.* from item where item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc limit 60",
$r = q("select item.id as item_id, item.* from item where item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc $pager_sql",
intval(local_channel()),
intval(ITEM_MODERATED)
);
@ -26,7 +29,7 @@ class Moderate extends \Zotlabs\Web\Controller {
if(argc() == 2) {
$post_id = intval(argv(1));
$r = q("select item.id as item_id, item.* from item where item.id = %d and item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc limit 60",
$r = q("select item.id as item_id, item.* from item where item.id = %d and item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc $pager_sql",
intval($post_id),
intval(local_channel()),
intval(ITEM_MODERATED)
@ -92,6 +95,7 @@ class Moderate extends \Zotlabs\Web\Controller {
}
$o = conversation($items,'moderate',false,'traditional');
$o .= alt_pager(count($items));
return $o;
}

View File

@ -565,7 +565,7 @@ class Network extends \Zotlabs\Web\Controller {
$o .= conversation($items,$mode,$update,$page_mode);
if(($items) && (! $update))
$o .= alt_pager($a,count($items));
$o .= alt_pager(count($items));
return $o;
}

View File

@ -285,10 +285,10 @@ class Ping extends \Zotlabs\Web\Controller {
intval(local_channel())
);
$b64mid = ((strpos($r[0]['thr_parent'], 'b64.' === 0)) ? $r[0]['thr_parent'] : 'b64.' . base64url_encode($r[0]['thr_parent']));
$b64mid = ((strpos($r[0]['thr_parent'], 'b64.') === 0) ? $r[0]['thr_parent'] : 'b64.' . base64url_encode($r[0]['thr_parent']));
}
else {
$b64mid = ((strpos($mid, 'b64.' === 0)) ? $mid : 'b64.' . base64url_encode($mid));
$b64mid = ((strpos($mid, 'b64.') === 0) ? $mid : 'b64.' . base64url_encode($mid));
}
$notifs[] = array(

View File

@ -34,6 +34,8 @@ class Pubstream extends \Zotlabs\Web\Controller {
}
$mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : '');
$hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
if(strpos($mid,'b64.') === 0)
$decoded = @base64url_decode(substr($mid,4));
@ -133,7 +135,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
'$order' => 'comment',
'$file' => '',
'$cats' => '',
'$tags' => '',
'$tags' => $hashtags,
'$dend' => '',
'$mid' => $mid,
'$verb' => '',
@ -170,6 +172,10 @@ class Pubstream extends \Zotlabs\Web\Controller {
$page_mode = 'client';
if(x($hashtags)) {
$sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
}
$net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : '');
$net_query2 = (($net) ? " and xchan_network = '" . protect_sprintf(dbesc($net)) . "' " : '');
@ -273,7 +279,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
$o .= '<div id="content-complete"></div>';
if(($items) && (! $update))
$o .= alt_pager($a,count($items));
$o .= alt_pager(count($items));
return $o;

View File

@ -19,6 +19,11 @@ class Permcats {
$all_perms = \Zotlabs\Access\Permissions::Perms();
$name = escape_tags(trim($_POST['name']));
if(! $name) {
notice( t('Permission Name is required.') . EOL);
return;
}
$pcarr = [];

26
Zotlabs/Update/_1211.php Normal file
View File

@ -0,0 +1,26 @@
<?php
namespace Zotlabs\Update;
class _1211 {
function run() {
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$r1 = q("ALTER TABLE channel ADD channel_active timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
$r2 = q("create index \"channel_active\" on channel_active \"channel_active\"");
$r = ($r1 && $r2);
}
else {
$r = q("ALTER TABLE `channel` ADD `channel_active` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' ,
ADD INDEX `channel_active` (`channel_active`)");
}
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}
}

View File

@ -6,16 +6,9 @@ class Design_tools {
function widget($arr) {
// mod menu doesn't load a profile. For any modules which load a profile, check it.
// otherwise local_channel() is sufficient for permissions.
if(perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(),'write_pages') || (\App::$is_sys && is_site_admin()))
return design_tools();
if(\App::$profile['profile_uid'])
if((\App::$profile['profile_uid'] != local_channel()) && (! \App::$is_sys))
return '';
if(! local_channel())
return '';
return design_tools();
return EMPTY_STR;
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Zotlabs\Widget;
class Pubtagcloud {
function widget($arr) {
$trending = ((array_key_exists('trending',$arr)) ? intval($arr['trending']) : 0);
if((observer_prohibited(true))) {
return EMPTY_STR;
}
if(! intval(get_config('system','open_pubstream',1))) {
if(! get_observer_hash()) {
return EMPTY_STR;
}
}
$site_firehose = ((intval(get_config('system','site_firehose',0))) ? true : false);
$net_firehose = ((get_config('system','disable_discover_tab',1)) ? false : true);
if(! ($site_firehose || $net_firehose)) {
return EMPTY_STR;
}
if($net_firehose) {
$site_firehose = false;
}
$safemode = get_xconfig(get_observer_hash(),'directory','safemode',1);
$limit = ((array_key_exists('limit', $arr)) ? intval($arr['limit']) : 75);
return pubtagblock($net_firehose,$site_firehose, $limit, $trending, $safemode);
return '';
}
}

View File

@ -50,11 +50,11 @@ require_once('include/attach.php');
require_once('include/bbcode.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'STD_VERSION', '3.3.5' );
define ( 'STD_VERSION', '3.5' );
define ( 'ZOT_REVISION', '6.0a' );
define ( 'DB_UPDATE_VERSION', 1210 );
define ( 'DB_UPDATE_VERSION', 1211 );
define ( 'PROJECT_BASE', __DIR__ );

View File

@ -2563,7 +2563,7 @@ function channel_remove($channel_id, $local = true, $unset_session = false) {
q("DELETE FROM photo WHERE uid = %d", intval($channel_id));
q("DELETE FROM attach WHERE uid = %d", intval($channel_id));
q("DELETE FROM profile WHERE uid = %d", intval($channel_id));
q("DELETE FROM src WHERE src_channel_id = %d", intval($channel_id));
q("DELETE FROM source WHERE src_channel_id = %d", intval($channel_id));
$r = q("select hash FROM attach WHERE uid = %d", intval($channel_id));
if($r) {

View File

@ -150,9 +150,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
// attempt network auto-discovery
$d = discover_by_webbie($url,$protocol);
$wf = discover_by_webbie($url,$protocol);
if((! $d) && ($is_http)) {
if((! $wf) && ($is_http)) {
// try RSS discovery
@ -167,9 +167,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
}
}
if($d) {
if($wf || $d) {
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
dbesc($url),
dbesc(($wf) ? $wf : $url),
dbesc($url)
);
}

View File

@ -176,7 +176,7 @@ EOT;
$nav['help'] = [$help_url, t('Help'), "", t('Help and documentation'), 'help_nav_btn', $context_help, $enable_context_help];
}
$nav['search'] = ['search', t('Search'), "", t('Search site @name, #tag, ?docs, content')];
$nav['search'] = ['search', t('Search'), "", t('Search site @name, !forum, #tag, ?docs, content')];
/**
@ -287,7 +287,7 @@ EOT;
'$is_owner' => $is_owner,
'$sel' => App::$nav_sel,
'$powered_by' => $powered_by,
'$help' => t('@name, #tag, ?doc, content'),
'$help' => t('@name, !forum, #tag, ?doc, content'),
'$pleasewait' => t('Please wait...'),
'$nav_apps' => $nav_apps,
'$navbar_apps' => $navbar_apps,

View File

@ -1192,9 +1192,10 @@ function discover_by_webbie($webbie, $protocol = '') {
logger('webfinger: ' . print_r($x,true), LOGGER_DATA, LOG_INFO);
$arr = [
'address' => $webbie,
'protocol' => $protocol,
'success' => false,
'address' => $webbie,
'protocol' => $protocol,
'success' => false,
'xchan' => '',
'webfinger' => $x
];
/**
@ -1207,7 +1208,7 @@ function discover_by_webbie($webbie, $protocol = '') {
*/
call_hooks('discover_channel_webfinger', $arr);
if($arr['success'])
return true;
return $arr['xchan'];
return false;
}
@ -1240,16 +1241,9 @@ function webfinger_rfc7033($webbie, $zot = false) {
}
logger('fetching url from resource: ' . $rhs . ':' . $webbie);
// The default curl Accept: header is */*, which is incorrectly handled by Mastodon servers
// and results in a 406 (Not Acceptable) response, and will also incorrectly produce an XML
// document if you use 'application/jrd+json, */*'. We could set this to application/jrd+json,
// but some test webfinger servers may not explicitly set the content type and they would be
// blocked. The best compromise until Mastodon is fixed is to remove the Accept header which is
// accomplished by setting it to nothing.
$counter = 0;
$s = z_fetch_url('https://' . $rhs . '/.well-known/webfinger?f=&resource=' . $resource . (($zot) ? '&zot=1' : ''),
false, $counter, [ 'headers' => [ 'Accept:' ] ]);
false, $counter, [ 'headers' => [ 'Accept: application/jrd+json, */*' ] ]);
if($s['success']) {
$j = json_decode($s['body'], true);
@ -1845,7 +1839,8 @@ function z_mail($params) {
$messageHeader =
$params['additionalMailHeader'] .
"From: $fromName <{$params['fromEmail']}>\n" .
"Reply-To: $fromName <{$params['replyTo']}>";
"Reply-To: $fromName <{$params['replyTo']}>\n" .
"Content-Type: text/plain; charset=UTF-8";
// send the message
$res = mail(

View File

@ -95,6 +95,12 @@ function queue_set_delivered($id,$channel = 0) {
function queue_insert($arr) {
// do not queue anything with no destination
if(! (array_key_exists('posturl',$arr) && trim($arr['posturl']))) {
return false;
}
$x = q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_priority,
outq_created, outq_updated, outq_scheduled, outq_notify, outq_msg )
values ( '%s', %d, %d, '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s' )",

View File

@ -266,6 +266,15 @@ function change_channel($change_channel) {
$_SESSION['mobile_theme'] = get_pconfig(local_channel(),'system', 'mobile_theme');
$_SESSION['cloud_tiles'] = get_pconfig(local_channel(),'system', 'cloud_tiles');
date_default_timezone_set($r[0]['channel_timezone']);
// Update the active timestamp at most once a day
if(substr($r[0]['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
$z = q("UPDATE channel SET channel_active = '%s' WHERE channel_id = %d",
dbesc(datetime_convert()),
intval($r[0]['channel_id'])
);
}
$ret = $r[0];
}
$x = q("select * from xchan where xchan_hash = '%s' limit 1",

View File

@ -174,8 +174,7 @@ function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $re
if(! is_array($authors))
$authors = array($authors);
stringify_array_elms($authors,true);
$sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
$sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
}
if($owner) {
@ -227,8 +226,7 @@ function card_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0
if(! is_array($authors))
$authors = array($authors);
stringify_array_elms($authors,true);
$sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
$sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
}
if($owner) {
@ -280,8 +278,7 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
if(! is_array($authors))
$authors = array($authors);
stringify_array_elms($authors,true);
$sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
$sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
}
if($owner) {
@ -312,6 +309,69 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
function pubtagblock($net,$site,$limit,$recent = 0,$safemode = 1, $type = TERM_HASHTAG) {
$o = '';
$r = pub_tagadelic($net,$site,$limit,$since,$safemode,$type);
$link = z_root() . '/pubstream';
if($r) {
$o = '<div class="tagblock widget"><h3>' . (($recent) ? t('Trending') : t('Tags')) . '</h3><div class="tags" align="center">';
foreach($r as $rr) {
$o .= '<span class="tag'.$rr[2].'">#</span><a href="'.$link .'/' . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
}
$o .= '</div></div>';
}
return $o;
}
function pub_tagadelic($net,$site,$limit,$recent,$safemode,$type) {
$item_normal = item_normal();
$count = intval($limit);
if($site) {
$uids = " and item.uid in ( " . stream_perms_api_uids(PERMS_PUBLIC) . " ) and item_private = 0 and item_wall = 1 ";
}
else {
$sys = get_sys_channel();
$uids = " and item.uid = " . intval($sys['channel_id']) . " ";
$sql_extra = " and item_private = 0 ";
}
if($recent)
$sql_extra .= " and item.created > '" . datetime_convert('UTC','UTC', 'now - ' . intval($recent) . ' days ') . "' ";
if($safemode) {
$unsafetags = get_config('system','unsafepubtags', [ 'boobs', 'bot', 'rss', 'girl','girls', 'nsfw', 'sexy', 'nude' ]);
if($unsafetags) {
$sql_extra .= " and not term.term in ( " . stringify_array($unsafetags,true) . ") ";
}
}
// Fetch tags
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
where term.ttype = %d
and otype = %d and item_type = %d
$sql_extra $uids $item_normal
group by term order by total desc %s",
intval($type),
intval(TERM_OBJ_POST),
intval(ITEM_TYPE_POST),
((intval($count)) ? "limit $count" : '')
);
if(! $r)
return array();
return Zotlabs\Text\Tagadelic::calc($r);
}
function dir_tagadelic($count = 0, $hub = '') {
@ -557,9 +617,8 @@ function get_things($profile_hash,$uid) {
if(! in_array($rr['obj_obj'],$profile_hashes))
$profile_hashes[] = $rr['obj_obj'];
}
stringify_array_elms($profile_hashes);
if(! $profile_hash) {
$exp = explode(',',$profile_hashes);
$exp = stringify_array($profile_hashes,true);
$p = q("select profile_guid as hash, profile_name as name from profile where profile_guid in ( $exp ) ");
if($p) {
foreach($r as $rr) {

View File

@ -531,7 +531,7 @@ function paginate(&$a) {
}
function alt_pager(&$a, $i, $more = '', $less = '') {
function alt_pager($i, $more = '', $less = '') {
if(! $more)
$more = t('older');
@ -2324,6 +2324,23 @@ function stringify_array_elms(&$arr, $escape = false) {
$arr[$x] = "'" . (($escape) ? dbesc($arr[$x]) : $arr[$x]) . "'";
}
/**
* @brief Similar to stringify_array_elms but returns a string. If $escape is true, dbesc() each element before adding quotes.
*
* @param array $arr
* @param boolean $escape (optional) default false
* @return string
*/
function stringify_array($arr, $escape = false) {
if($arr) {
stringify_array_elms($arr);
return(implode(',',$arr));
}
return EMPTY_STR;
}
/**
* @brief Indents a flat JSON string to make it more human-readable.
*
@ -2387,7 +2404,7 @@ function jindent($json) {
*/
function design_tools() {
$channel = App::get_channel();
$channel = channelx_by_n(App::$profile['profile_uid']);
$sys = false;
if(App::$is_sys && is_site_admin()) {

View File

@ -3208,6 +3208,9 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
$channel = $r[0];
// don't provide these in the export
unset($channel['channel_active']);
unset($channel['channel_password']);
unset($channel['channel_salt']);
@ -3474,6 +3477,14 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
continue;
}
// if the clone is active, so are we
if(substr($channel['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
q("UPDATE channel set channel_active = '%s' where channel_id = %d",
dbesc(datetime_convert()),
intval($channel['channel_id'])
);
}
if(array_key_exists('config',$arr) && is_array($arr['config']) && count($arr['config'])) {
foreach($arr['config'] as $cat => $k) {

View File

@ -259,6 +259,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_dirdate` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_lastpost` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_deleted` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_active` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT 10,
`channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT 10,
`channel_expire_days` int(11) NOT NULL DEFAULT 0 ,
@ -308,6 +309,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_hash` (`channel_hash`),
KEY `channel_expire_days` (`channel_expire_days`),
KEY `channel_deleted` (`channel_deleted`),
KEY `channel_active` (`channel_active`),
KEY `channel_dirdate` (`channel_dirdate`),
KEY `channel_removed` (`channel_removed`),
KEY `channel_system` (`channel_system`),

View File

@ -252,6 +252,7 @@ CREATE TABLE "channel" (
"channel_dirdate" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"channel_lastpost" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"channel_deleted" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"channel_active" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"channel_max_anon_mail" bigint NOT NULL DEFAULT '10',
"channel_max_friend_req" bigint NOT NULL DEFAULT '10',
"channel_expire_days" bigint NOT NULL DEFAULT '0',
@ -284,6 +285,7 @@ create index "channel_guid" on channel ("channel_guid");
create index "channel_hash" on channel ("channel_hash");
create index "channel_expire_days" on channel ("channel_expire_days");
create index "channel_deleted" on channel ("channel_deleted");
create index "channel_active" on channel ("channel_active");
create index "channel_dirdate" on channel ("channel_dirdate");
create index "channel_lastpost" on channel ("channel_lastpost");
create index "channel_removed" on channel ("channel_removed");

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@ -202,7 +202,7 @@ th {
label {
display: inline-block;
margin-bottom: .5rem;
margin-bottom: 0.5rem;
}
button {

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 3.3.5\n"
"Project-Id-Version: 3.4RC\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-13 21:54+0200\n"
"POT-Creation-Date: 2018-04-18 08:37+0200\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"
@ -248,7 +248,7 @@ msgstr ""
msgid "Block Name"
msgstr ""
#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2405
#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2422
msgid "Blocks"
msgstr ""
@ -415,7 +415,7 @@ msgstr ""
#: ../../Zotlabs/Module/Admin/Profs.php:178
#: ../../Zotlabs/Module/Admin/Account_edit.php:74
#: ../../Zotlabs/Module/Admin/Security.php:104
#: ../../Zotlabs/Module/Settings/Permcats.php:110
#: ../../Zotlabs/Module/Settings/Permcats.php:115
#: ../../Zotlabs/Module/Settings/Channel.php:495
#: ../../Zotlabs/Module/Settings/Features.php:79
#: ../../Zotlabs/Module/Settings/Tokens.php:168
@ -673,7 +673,7 @@ msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:464
#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Fbrowser.php:66
#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:801
#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:365
#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:366
#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
#: ../../include/conversation.php:1389 ../../include/conversation.php:1438
msgid "Cancel"
@ -716,7 +716,7 @@ msgstr ""
#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:787
#: ../../addon/openid/MysqlProvider.php:56
#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
#: ../../addon/redred/redred.php:107 ../../include/network.php:1776
#: ../../addon/redred/redred.php:107 ../../include/network.php:1769
msgid "Email"
msgstr ""
@ -932,7 +932,7 @@ msgstr ""
msgid "Search results for: %s"
msgstr ""
#: ../../Zotlabs/Module/Pubstream.php:93
#: ../../Zotlabs/Module/Pubstream.php:95
#: ../../Zotlabs/Widget/Notifications.php:131
msgid "Public Stream"
msgstr ""
@ -2638,7 +2638,7 @@ msgstr ""
#: ../../Zotlabs/Module/Admin/Site.php:191
#: ../../view/theme/redbasic_c/php/config.php:15
#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3089
#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3106
msgid "Default"
msgstr ""
@ -3345,43 +3345,47 @@ msgstr ""
msgid "Comment deleted"
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:37
#: ../../Zotlabs/Module/Settings/Permcats.php:23
msgid "Permission Name is required."
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:42
msgid "Permission category saved."
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:61
#: ../../Zotlabs/Module/Settings/Permcats.php:66
msgid ""
"Use this form to create permission rules for various classes of people or "
"connections."
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:94
#: ../../Zotlabs/Module/Settings/Permcats.php:99
msgid "Permission Categories"
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:102
#: ../../Zotlabs/Module/Settings/Permcats.php:107
msgid "Permission Name"
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:103
#: ../../Zotlabs/Module/Settings/Permcats.php:108
#: ../../Zotlabs/Module/Settings/Tokens.php:161
#: ../../Zotlabs/Module/Connedit.php:891 ../../Zotlabs/Module/Defperms.php:250
msgid "My Settings"
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:105
#: ../../Zotlabs/Module/Settings/Permcats.php:110
#: ../../Zotlabs/Module/Settings/Tokens.php:163
#: ../../Zotlabs/Module/Connedit.php:886 ../../Zotlabs/Module/Defperms.php:248
msgid "inherited"
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:108
#: ../../Zotlabs/Module/Settings/Permcats.php:113
#: ../../Zotlabs/Module/Settings/Tokens.php:166
#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Defperms.php:253
msgid "Individual Permissions"
msgstr ""
#: ../../Zotlabs/Module/Settings/Permcats.php:109
#: ../../Zotlabs/Module/Settings/Permcats.php:114
#: ../../Zotlabs/Module/Settings/Tokens.php:167
#: ../../Zotlabs/Module/Connedit.php:894
msgid ""
@ -4227,7 +4231,7 @@ msgstr ""
#: ../../Zotlabs/Module/Embedphotos.php:158 ../../Zotlabs/Module/Photos.php:712
#: ../../Zotlabs/Module/Profile_photo.php:458
#: ../../Zotlabs/Module/Cover_photo.php:361
#: ../../Zotlabs/Module/Cover_photo.php:362
#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Widget/Cdav.php:133
#: ../../Zotlabs/Widget/Cdav.php:169 ../../Zotlabs/Widget/Portfolio.php:110
#: ../../Zotlabs/Widget/Album.php:97
@ -4406,7 +4410,7 @@ msgstr ""
msgid "Permissions denied."
msgstr ""
#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2429
#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2446
msgid "Import"
msgstr ""
@ -4870,7 +4874,7 @@ msgstr ""
#: ../../Zotlabs/Module/Photos.php:1160 ../../Zotlabs/Lib/ThreadItem.php:205
#: ../../include/conversation.php:1981 ../../include/channel.php:1539
#: ../../include/taxonomy.php:601
#: ../../include/taxonomy.php:660
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
@ -5047,38 +5051,38 @@ msgid "Embed an image from your albums"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:380 ../../Zotlabs/Module/Profile_photo.php:465
#: ../../Zotlabs/Module/Cover_photo.php:366 ../../include/conversation.php:1390
#: ../../Zotlabs/Module/Cover_photo.php:367 ../../include/conversation.php:1390
#: ../../include/conversation.php:1437
msgid "OK"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:381 ../../Zotlabs/Module/Profile_photo.php:466
#: ../../Zotlabs/Module/Cover_photo.php:367 ../../include/conversation.php:1320
#: ../../Zotlabs/Module/Cover_photo.php:368 ../../include/conversation.php:1320
msgid "Choose images to embed"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:382 ../../Zotlabs/Module/Profile_photo.php:467
#: ../../Zotlabs/Module/Cover_photo.php:368 ../../include/conversation.php:1321
#: ../../Zotlabs/Module/Cover_photo.php:369 ../../include/conversation.php:1321
msgid "Choose an album"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:383 ../../Zotlabs/Module/Profile_photo.php:468
#: ../../Zotlabs/Module/Cover_photo.php:369
#: ../../Zotlabs/Module/Cover_photo.php:370
msgid "Choose a different album"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:384 ../../Zotlabs/Module/Profile_photo.php:469
#: ../../Zotlabs/Module/Cover_photo.php:370 ../../include/conversation.php:1323
#: ../../Zotlabs/Module/Cover_photo.php:371 ../../include/conversation.php:1323
msgid "Error getting album list"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:385 ../../Zotlabs/Module/Profile_photo.php:470
#: ../../Zotlabs/Module/Cover_photo.php:371 ../../include/conversation.php:1324
#: ../../Zotlabs/Module/Cover_photo.php:372 ../../include/conversation.php:1324
msgid "Error getting photo link"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:386 ../../Zotlabs/Module/Profile_photo.php:471
#: ../../Zotlabs/Module/Cover_photo.php:372 ../../include/conversation.php:1325
#: ../../Zotlabs/Module/Cover_photo.php:373 ../../include/conversation.php:1325
msgid "Error getting album"
msgstr ""
@ -5253,12 +5257,12 @@ msgid "Photo not available."
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:455
#: ../../Zotlabs/Module/Cover_photo.php:358
#: ../../Zotlabs/Module/Cover_photo.php:359
msgid "Upload File:"
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:456
#: ../../Zotlabs/Module/Cover_photo.php:359
#: ../../Zotlabs/Module/Cover_photo.php:360
msgid "Select a profile:"
msgstr ""
@ -5276,28 +5280,28 @@ msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:462
#: ../../Zotlabs/Module/Profile_photo.php:463
#: ../../Zotlabs/Module/Cover_photo.php:363
#: ../../Zotlabs/Module/Cover_photo.php:364
#: ../../Zotlabs/Module/Cover_photo.php:365
msgid "Use a photo from your albums"
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:473
#: ../../Zotlabs/Module/Cover_photo.php:375
#: ../../Zotlabs/Module/Cover_photo.php:376
msgid "Select existing photo"
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:492
#: ../../Zotlabs/Module/Cover_photo.php:392
#: ../../Zotlabs/Module/Cover_photo.php:393
msgid "Crop Image"
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:493
#: ../../Zotlabs/Module/Cover_photo.php:393
#: ../../Zotlabs/Module/Cover_photo.php:394
msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:495
#: ../../Zotlabs/Module/Cover_photo.php:395
#: ../../Zotlabs/Module/Cover_photo.php:396
msgid "Done Editing"
msgstr ""
@ -5827,7 +5831,7 @@ msgstr ""
msgid "Submit and proceed"
msgstr ""
#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2406
#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2423
msgid "Menus"
msgstr ""
@ -5879,7 +5883,7 @@ msgstr ""
msgid "Allow bookmarks"
msgstr ""
#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2407
#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2424
msgid "Layouts"
msgstr ""
@ -7304,7 +7308,7 @@ msgstr ""
msgid "cover photo"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:360
#: ../../Zotlabs/Module/Cover_photo.php:361
msgid "Change Cover Photo"
msgstr ""
@ -7373,19 +7377,19 @@ msgstr ""
msgid "Search Results For:"
msgstr ""
#: ../../Zotlabs/Module/Network.php:230
#: ../../Zotlabs/Module/Network.php:229
msgid "Privacy group is empty"
msgstr ""
#: ../../Zotlabs/Module/Network.php:240
#: ../../Zotlabs/Module/Network.php:238
msgid "Privacy group: "
msgstr ""
#: ../../Zotlabs/Module/Network.php:268
#: ../../Zotlabs/Module/Network.php:265
msgid "Invalid connection."
msgstr ""
#: ../../Zotlabs/Module/Network.php:289 ../../addon/redred/redred.php:65
#: ../../Zotlabs/Module/Network.php:285 ../../addon/redred/redred.php:65
msgid "Invalid channel."
msgstr ""
@ -8223,7 +8227,7 @@ msgstr ""
msgid "Wiki updated successfully"
msgstr ""
#: ../../Zotlabs/Lib/NativeWiki.php:198
#: ../../Zotlabs/Lib/NativeWiki.php:205
msgid "Wiki files deleted successfully"
msgstr ""
@ -8297,11 +8301,11 @@ msgstr ""
msgid "Add Tag"
msgstr ""
#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:514
#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:574
msgid "like"
msgstr ""
#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:515
#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:575
msgid "dislike"
msgstr ""
@ -8458,7 +8462,7 @@ msgstr ""
msgid "parent"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2828
#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2845
msgid "Collection"
msgstr ""
@ -8603,9 +8607,9 @@ msgstr ""
#: ../../Zotlabs/Widget/Appcategories.php:40
#: ../../include/contact_widgets.php:97 ../../include/contact_widgets.php:141
#: ../../include/contact_widgets.php:186 ../../include/taxonomy.php:348
#: ../../include/taxonomy.php:430 ../../include/taxonomy.php:450
#: ../../include/taxonomy.php:471
#: ../../include/contact_widgets.php:186 ../../include/taxonomy.php:408
#: ../../include/taxonomy.php:490 ../../include/taxonomy.php:510
#: ../../include/taxonomy.php:531
msgid "Categories"
msgstr ""
@ -8793,8 +8797,8 @@ msgstr ""
msgid "Click to show more"
msgstr ""
#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:388
#: ../../include/taxonomy.php:409
#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:319
#: ../../include/taxonomy.php:448 ../../include/taxonomy.php:469
msgid "Tags"
msgstr ""
@ -9095,6 +9099,10 @@ msgstr ""
msgid "never"
msgstr ""
#: ../../store/[data]/smarty3/compiled/a0a1289f91f53b2c12e4e0b45ffe8291540ba895_0.file.cover_photo.tpl.php:123
msgid "Cover Photo"
msgstr ""
#: ../../view/theme/redbasic_c/php/config.php:16
#: ../../view/theme/redbasic_c/php/config.php:19
#: ../../view/theme/redbasic/php/config.php:16
@ -10584,7 +10592,7 @@ msgid "Friendica Login Password"
msgstr ""
#: ../../addon/pubcrawl/as.php:1129 ../../addon/pubcrawl/as.php:1256
#: ../../addon/pubcrawl/as.php:1432 ../../include/network.php:1775
#: ../../addon/pubcrawl/as.php:1432 ../../include/network.php:1768
msgid "ActivityPub"
msgstr ""
@ -12573,71 +12581,71 @@ msgstr ""
msgid "a-z, 0-9, -, and _ only"
msgstr ""
#: ../../include/text.php:2402
#: ../../include/text.php:2419
msgid "Design Tools"
msgstr ""
#: ../../include/text.php:2408
#: ../../include/text.php:2425
msgid "Pages"
msgstr ""
#: ../../include/text.php:2430
#: ../../include/text.php:2447
msgid "Import website..."
msgstr ""
#: ../../include/text.php:2431
#: ../../include/text.php:2448
msgid "Select folder to import"
msgstr ""
#: ../../include/text.php:2432
#: ../../include/text.php:2449
msgid "Import from a zipped folder:"
msgstr ""
#: ../../include/text.php:2433
#: ../../include/text.php:2450
msgid "Import from cloud files:"
msgstr ""
#: ../../include/text.php:2434
#: ../../include/text.php:2451
msgid "/cloud/channel/path/to/folder"
msgstr ""
#: ../../include/text.php:2435
#: ../../include/text.php:2452
msgid "Enter path to website files"
msgstr ""
#: ../../include/text.php:2436
#: ../../include/text.php:2453
msgid "Select folder"
msgstr ""
#: ../../include/text.php:2437
#: ../../include/text.php:2454
msgid "Export website..."
msgstr ""
#: ../../include/text.php:2438
#: ../../include/text.php:2455
msgid "Export to a zip file"
msgstr ""
#: ../../include/text.php:2439
#: ../../include/text.php:2456
msgid "website.zip"
msgstr ""
#: ../../include/text.php:2440
#: ../../include/text.php:2457
msgid "Enter a name for the zip file."
msgstr ""
#: ../../include/text.php:2441
#: ../../include/text.php:2458
msgid "Export to cloud files"
msgstr ""
#: ../../include/text.php:2442
#: ../../include/text.php:2459
msgid "/path/to/export/folder"
msgstr ""
#: ../../include/text.php:2443
#: ../../include/text.php:2460
msgid "Enter a path to a cloud files destination."
msgstr ""
#: ../../include/text.php:2444
#: ../../include/text.php:2461
msgid "Specify folder"
msgstr ""
@ -13074,7 +13082,7 @@ msgstr ""
msgid "Empty path"
msgstr ""
#: ../../include/security.php:532
#: ../../include/security.php:541
msgid ""
"The form security token was not correct. This probably happened because the "
"form has been opened for too long (>3 hours) before submitting it."
@ -13354,43 +13362,43 @@ msgstr ""
msgid "view full size"
msgstr ""
#: ../../include/network.php:1770 ../../include/network.php:1771
#: ../../include/network.php:1763 ../../include/network.php:1764
msgid "Friendica"
msgstr ""
#: ../../include/network.php:1772
#: ../../include/network.php:1765
msgid "OStatus"
msgstr ""
#: ../../include/network.php:1773
#: ../../include/network.php:1766
msgid "GNU-Social"
msgstr ""
#: ../../include/network.php:1774
#: ../../include/network.php:1767
msgid "RSS/Atom"
msgstr ""
#: ../../include/network.php:1777
#: ../../include/network.php:1770
msgid "Diaspora"
msgstr ""
#: ../../include/network.php:1778
#: ../../include/network.php:1771
msgid "Facebook"
msgstr ""
#: ../../include/network.php:1779
#: ../../include/network.php:1772
msgid "Zot"
msgstr ""
#: ../../include/network.php:1780
#: ../../include/network.php:1773
msgid "LinkedIn"
msgstr ""
#: ../../include/network.php:1781
#: ../../include/network.php:1774
msgid "XMPP/IM"
msgstr ""
#: ../../include/network.php:1782
#: ../../include/network.php:1775
msgid "MySpace"
msgstr ""
@ -13862,31 +13870,35 @@ msgstr ""
msgid "Provide a personal tag cloud on your channel page"
msgstr ""
#: ../../include/taxonomy.php:491
#: ../../include/taxonomy.php:319
msgid "Trending"
msgstr ""
#: ../../include/taxonomy.php:551
msgid "Keywords"
msgstr ""
#: ../../include/taxonomy.php:512
#: ../../include/taxonomy.php:572
msgid "have"
msgstr ""
#: ../../include/taxonomy.php:512
#: ../../include/taxonomy.php:572
msgid "has"
msgstr ""
#: ../../include/taxonomy.php:513
#: ../../include/taxonomy.php:573
msgid "want"
msgstr ""
#: ../../include/taxonomy.php:513
#: ../../include/taxonomy.php:573
msgid "wants"
msgstr ""
#: ../../include/taxonomy.php:514
#: ../../include/taxonomy.php:574
msgid "likes"
msgstr ""
#: ../../include/taxonomy.php:515
#: ../../include/taxonomy.php:575
msgid "dislikes"
msgstr ""
@ -14088,7 +14100,7 @@ msgid "Help and documentation"
msgstr ""
#: ../../include/nav.php:179
msgid "Search site @name, #tag, ?docs, content"
msgid "Search site @name, !forum, #tag, ?docs, content"
msgstr ""
#: ../../include/nav.php:199
@ -14096,7 +14108,7 @@ msgid "Site Setup and Configuration"
msgstr ""
#: ../../include/nav.php:290
msgid "@name, #tag, ?doc, content"
msgid "@name, !forum, #tag, ?doc, content"
msgstr ""
#: ../../include/nav.php:291
@ -14155,7 +14167,7 @@ msgstr ""
msgid "Unable to verify site signature for %s"
msgstr ""
#: ../../include/zot.php:4206
#: ../../include/zot.php:4217
msgid "invalid target signature"
msgstr ""

View File

@ -253,9 +253,18 @@ function string2bb(element) {
template: contact_format
};
// Autocomplete hashtags
tags = {
match: /(^\#)([^ \n]{3,})$/,
index: 2,
search: function(term, callback) { $.getJSON('/hashtags/' + '$f=&t=' + term).done(function(data) { callback($.map(data, function(entry) { return entry.text.toLowerCase().indexOf(term.toLowerCase()) === 0 ? entry : null; })); }); },
replace: function(item) { return "$1" + item.text + ' '; },
context: function(text) { return text.toLowerCase(); },
template: tag_format
};
this.attr('autocomplete', 'off');
var a = this.textcomplete([contacts,forums], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
var a = this.textcomplete([contacts,forums,tags], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
a.on('textComplete:select', function(e, value, strategy) { submit_form(this); });
};
})( jQuery );

View File

@ -1,3 +1,6 @@
[region=aside]
[widget=pubtagcloud][var=trending]8[/var][var=limit]20[/var][/widget]
[/region]
[region=right_aside]
[widget=notifications][/widget]
[widget=newmember][/widget]

View File

@ -1795,3 +1795,7 @@ dl.bb-dl > dd > li {
position: absolute;
text-shadow: -2px 0 1px #fff, 0 2px 1px#fff, 2px 0 1px #fff, 0 -2px 1px #fff;
}
.cover-photo-review {
margin-bottom: 10px;
}

View File

@ -86,10 +86,11 @@
<h2>{{$title}}</h2>
</div>
<div class="section-content-wrapper">
{{if $existing}}
<img class="cover-photo-review" style="max-width: 100%;" src="{{$existing.url}}" alt="{{t('Cover Photo')}}" />
{{/if}}
<form enctype="multipart/form-data" action="cover_photo" method="post">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div id="profile-photo-upload-wrapper">
<label id="profile-photo-upload-label" class="form-label" for="profile-photo-upload">{{$lbl_upfile}}</label>

View File

@ -164,7 +164,7 @@
{{$channel_app}}
{{/foreach}}
<div class="dropdown-divider"></div>
<div class="dropdown-header sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
<div class="dropdown-header text-black-50 sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
{{$sysapps_toggle}}
</div>
<div id="sys_apps" style="display:none;">
@ -190,7 +190,7 @@
{{foreach $channel_apps as $channel_app}}
{{$channel_app|replace:'dropdown-item':'nav-link'}}
{{/foreach}}
<div class="dropdown-header sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
<div class="dropdown-header text-white-50 sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
{{$sysapps_toggle}}
</div>
<div id="sys-apps-collapsed" style="display:none;">

View File

@ -164,7 +164,7 @@
{{$channel_app}}
{{/foreach}}
<div class="dropdown-divider"></div>
<div class="dropdown-header sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
<div class="dropdown-header text-black-50 sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
{{$sysapps_toggle}}
</div>
<div id="sys_apps" style="display:none;">
@ -190,7 +190,7 @@
{{foreach $channel_apps as $channel_app}}
{{$channel_app|replace:'dropdown-item':'nav-link'}}
{{/foreach}}
<div class="dropdown-header sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
<div class="dropdown-header text-white-50 sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
{{$sysapps_toggle}}
</div>
<div id="sys-apps-collapsed" style="display:none;">

View File

@ -1,4 +1,5 @@
<div class="dropdown-header"><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
<div class="dropdown-header text-white-50 d-lg-none" ><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
<div class="dropdown-header text-black-50 d-none d-lg-block"><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
{{foreach $tabs as $tab}}
<a class="dropdown-item{{if $tab.sel}} {{$tab.sel}}{{/if}}" href="{{$tab.url}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}><i class="fa fa-fw fa-{{$tab.icon}} generic-icons-nav"></i>{{$tab.label}}</a>
{{/foreach}}