mirror of https://github.com/Mowie/Mowie
Added the ability to update System and apps seperatly
This commit is contained in:
parent
696f879a31
commit
e9c981feb5
|
@ -643,7 +643,7 @@ header {
|
|||
color: #727272;
|
||||
z-index: 2;
|
||||
font-size: 30px;
|
||||
overflow: hidden;
|
||||
/*overflow: hidden;*/
|
||||
}
|
||||
|
||||
header:after {
|
||||
|
@ -653,7 +653,7 @@ header:after {
|
|||
}
|
||||
|
||||
header .options {
|
||||
display: block;
|
||||
display: inline-block;
|
||||
float: right;
|
||||
font-size: 15px;
|
||||
text-align: right;
|
||||
|
@ -661,11 +661,12 @@ header .options {
|
|||
-moz-user-select: -moz-none;
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
position: fixed;
|
||||
/*position: fixed;
|
||||
top: -9px;
|
||||
right: 10px;
|
||||
right: 10px;*/
|
||||
background: #fff;
|
||||
height: 65px;
|
||||
margin-top: -15px;
|
||||
}
|
||||
|
||||
header .options span {
|
||||
|
@ -1179,11 +1180,54 @@ a[class^="card-"]:hover, a[class*=" card-"]:hover {
|
|||
|
||||
.form span {
|
||||
float: left;
|
||||
width: 200px;
|
||||
width: 230px;
|
||||
text-align: left;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
/*Stream*/
|
||||
header .stream{
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.stream a{
|
||||
color: #727272;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.stream #streamContent{
|
||||
background: #fff;
|
||||
padding: 10px 10px 20px;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
|
||||
border-radius: 1px;
|
||||
z-index: 1;
|
||||
font-size: 14px;
|
||||
|
||||
width: 300px;
|
||||
max-height: 200px;
|
||||
overflow: auto;
|
||||
position: absolute;
|
||||
margin-left: -150px;
|
||||
margin-top: 5px;
|
||||
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stream #streamContent p:last-child{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.stream .button{
|
||||
width: calc(100% + 20px);
|
||||
margin: 10px -10px 0;
|
||||
padding: 0;
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
border-radius: 0;
|
||||
background: #BDBDBD;
|
||||
}
|
||||
|
||||
/*Msgs*/
|
||||
[class^="message-"], [class*=" message-"] {
|
||||
width: calc(100% - 95px);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -173,6 +173,13 @@ $lang['user_settings_settings_fail'] = 'Fehler beim Speichern der Änderungen de
|
|||
$lang['user_settings_settings_pass'] = 'Passwort ändern';
|
||||
$lang['user_settings_last_login'] = 'Letzter Login';
|
||||
$lang['user_settings_show_current_sessions'] = 'Offene Anmeldungen anzeigen';
|
||||
$lang['user_settings_log_level'] = 'Log-Level für Benachrichtigung';
|
||||
$lang['user_settings_log_level_1'] = 'Nur wichtiges';
|
||||
$lang['user_settings_log_level_2'] = 'System-Mitteilungen';
|
||||
$lang['user_settings_log_level_3'] = 'Änderungen';
|
||||
$lang['user_settings_log_level_4'] = 'Generelle Mitteilungen';
|
||||
$lang['user_settings_log_level_fail'] = 'Fehler beim Speichern des Log-Levels.';
|
||||
$lang['user_settings_log_level_success'] = 'Die Änderungen des Log-Levels wurden erfolgreich gespeichert.';
|
||||
|
||||
//Mail
|
||||
$lang['mail_write'] = 'Email schreiben';
|
||||
|
@ -211,4 +218,5 @@ $lang['update_version'] = 'Version';
|
|||
$lang['update_version_current'] = 'Installierte Version';
|
||||
$lang['update_new_version'] = 'Neue Version verfügbar!';
|
||||
$lang['update_version_current_new'] = 'Die installierte Version ist aktuell.';
|
||||
$lang['update_app_update_available'] = 'App-Update - Neue Version für "%1$s" verfügbar: %2$s';
|
||||
$lang['update_app_update_available'] = 'App-Update - Neue Version für "%1$s" verfügbar: %2$s';
|
||||
$lang['update_log'] = '{user} hat das System geupdated.';
|
|
@ -174,6 +174,13 @@ $lang['user_settings_settings_fail'] = 'An error occured while saving user-setti
|
|||
$lang['user_settings_settings_pass'] = 'Update Password';
|
||||
$lang['user_settings_last_login'] = 'Last Login';
|
||||
$lang['user_settings_show_current_sessions'] = 'Show Current Sessions';
|
||||
$lang['user_settings_log_level'] = 'Log-Level';
|
||||
$lang['user_settings_log_level_1'] = 'Important Only';
|
||||
$lang['user_settings_log_level_2'] = 'System-Messages';
|
||||
$lang['user_settings_log_level_3'] = 'Edits';
|
||||
$lang['user_settings_log_level_4'] = 'General Messages';
|
||||
$lang['user_settings_log_level_fail'] = 'An error occured while saving Log-Levels.';
|
||||
$lang['user_settings_log_level_success'] = 'The Log-Levels were saved successfully.';
|
||||
|
||||
//Mail
|
||||
$lang['mail_write'] = 'Write Email';
|
||||
|
@ -213,4 +220,5 @@ $lang['update_version'] = 'Version';
|
|||
$lang['update_version_current'] = 'Installed Version';
|
||||
$lang['update_new_version'] = 'New Version Available!';
|
||||
$lang['update_version_current_new'] = 'Installed Version is up-to-date';
|
||||
$lang['update_app_update_available'] = 'App-Update - New Version for "%1$s" available: %2$s';
|
||||
$lang['update_app_update_available'] = 'App-Update - New Version for "%1$s" available: %2$s';
|
||||
$lang['update_log'] = '{user} updated the System.';
|
|
@ -74,8 +74,8 @@ if (hasPerm('edit_permissions'))
|
|||
if (file_exists($appUri . '/' . $app . '/permissions.json'))
|
||||
{
|
||||
require $appUri . '/' . $app . '/config.php';
|
||||
$permsTotal[$_CONF['mod_name']] = json_decode(file_get_contents($appUri . '/' . $app . '/permissions.json'), true);
|
||||
$permsTotal[$_CONF['mod_name']] = $permsTotal[$_CONF['mod_name']]['permissions'];
|
||||
$permsTotal[$_CONF['app_name']] = json_decode(file_get_contents($appUri . '/' . $app . '/permissions.json'), true);
|
||||
$permsTotal[$_CONF['app_name']] = $permsTotal[$_CONF['app_name']]['permissions'];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
error_reporting(E_ALL);
|
||||
require_once '../inc/autoload_adm.php';
|
||||
|
||||
//Get Stream as JSON
|
||||
if(isset($_GET['getStream']) && is_loggedin())
|
||||
{
|
||||
$db->setCol('system_show_stream');
|
||||
$db->data['user'] = $_SESSION['userid'];
|
||||
$db->get();
|
||||
$loglevel = json_decode($db->data[0]['level']);
|
||||
|
||||
$streamData = [];
|
||||
$db->setCol('system_stream');
|
||||
$db->get(null, null, 'id', 'DESC', 10);
|
||||
foreach($db->data as $stream)
|
||||
{
|
||||
if(in_array($stream['lvl'], $loglevel))
|
||||
{
|
||||
$streamData[] = [
|
||||
'id' => $stream['id'],
|
||||
'time' => $stream['time'],
|
||||
'user' => $stream['user'],
|
||||
'message' => str_replace('{user}', getUserByID($stream['user']), $lang->get($stream['message']))
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
header('Charset: utf-8');
|
||||
header('Content-type: application/json');
|
||||
echo json_encode( $streamData );
|
||||
exit;
|
||||
}
|
||||
|
||||
//Show Stream
|
||||
printHeader('Stream');
|
||||
|
||||
echo '<div class="main">';
|
||||
|
||||
$db->setCol('system_stream');
|
||||
$db->get(null, null, 'id', 'DESC', 200);
|
||||
foreach ($db->data as $stream)
|
||||
{
|
||||
echo '<p><b>'.date('d.m.Y H:i', $stream['time']).':</b> '.str_replace('{user}', getUserByID($stream['user']), $lang->get($stream['message'])).'</p>';
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
|
||||
require_once '../inc/footer.php';
|
|
@ -252,4 +252,5 @@ if (isset($_GET['update']))
|
|||
echo msg('info', $lang->get('update_version_current_new'));
|
||||
}
|
||||
}
|
||||
require_once '../inc/footer.php';
|
||||
}
|
|
@ -222,6 +222,47 @@ if (hasPerm('manage_admins') || $uid == $_SESSION['userid'])
|
|||
{
|
||||
echo msg('fail', $lang->get('user_settings_settings_fail') . ' {back}');
|
||||
}
|
||||
|
||||
//Log-Level
|
||||
$loglevel = '';
|
||||
$loglevelA = [];
|
||||
if(isset($_POST['level_1']) && $_POST['level_1'] == 'true') $loglevelA[] = 1;
|
||||
if(isset($_POST['level_2']) && $_POST['level_2'] == 'true') $loglevelA[] = 2;
|
||||
if(isset($_POST['level_3']) && $_POST['level_3'] == 'true') $loglevelA[] = 3;
|
||||
if(isset($_POST['level_4']) && $_POST['level_4'] == 'true') $loglevelA[] = 4;
|
||||
$loglevel = json_encode($loglevelA);
|
||||
|
||||
//Get the current status
|
||||
$db->setCol('system_show_stream');
|
||||
$db->data['user'] = $_SESSION['userid'];
|
||||
$db->get();
|
||||
if(isset($db->data[0]))//If we already have stream settings saved, update them
|
||||
{
|
||||
$db->setCol('system_show_stream');
|
||||
$db->data['level'] = $loglevel;
|
||||
if($db->update(['user' => $_SESSION['userid']]))
|
||||
{
|
||||
echo msg('success', $lang->get('user_settings_log_level_success') . ' {back}');
|
||||
}
|
||||
else
|
||||
{
|
||||
echo msg('fail', $lang->get('user_settings_log_level_fail') . ' {back}');
|
||||
}
|
||||
}
|
||||
else //Otherwise insert them
|
||||
{
|
||||
$db->setCol('system_show_stream');
|
||||
$db->data['user'] = $_SESSION['userid'];
|
||||
$db->data['level'] = $loglevel;
|
||||
if($db->insert())
|
||||
{
|
||||
echo msg('success', $lang->get('user_settings_log_level_success'));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo msg('fail', $lang->get('user_settings_log_level_fail'));
|
||||
}
|
||||
}
|
||||
} else
|
||||
{
|
||||
$db->data['id'] = $uid;
|
||||
|
@ -288,7 +329,26 @@ if (hasPerm('manage_admins') || $uid == $_SESSION['userid'])
|
|||
echo $lang->get('general_inactive') . '. <a href="?2fa">' . $lang->get('general_activate') . '</a>';
|
||||
}
|
||||
}
|
||||
?></p>
|
||||
?><br/></p>
|
||||
<p><span><?php echo $lang->get('user_settings_log_level'); ?>:</span>
|
||||
<?php
|
||||
$db->setCol('system_show_stream');
|
||||
$db->data['user'] = $_SESSION['userid'];
|
||||
$db->get();
|
||||
$loglevel = json_decode($db->data[0]['level']);
|
||||
?>
|
||||
<input type="checkbox" name="level_1" id="level_1"<?php if(in_array(1, $loglevel)) echo ' checked="checked"';?>/>
|
||||
<label for="level_1"><i></i> <?php echo $lang->get('user_settings_log_level_1'); ?></label><div style="clear: both;"></div>
|
||||
<span> </span>
|
||||
<input type="checkbox" name="level_2" id="level_2"<?php if(in_array(2, $loglevel)) echo ' checked="checked"';?>/>
|
||||
<label for="level_2"><i></i> <?php echo $lang->get('user_settings_log_level_2'); ?></label><div style="clear: both;"></div>
|
||||
<span> </span>
|
||||
<input type="checkbox" name="level_3" id="level_3"<?php if(in_array(3, $loglevel)) echo ' checked="checked"';?>/>
|
||||
<label for="level_3"><i></i> <?php echo $lang->get('user_settings_log_level_3'); ?></label><div style="clear: both;"></div>
|
||||
<span> </span>
|
||||
<input type="checkbox" name="level_4" id="level_4"<?php if(in_array(4, $loglevel)) echo ' checked="checked"';?>/>
|
||||
<label for="level_4"><i></i> <?php echo $lang->get('user_settings_log_level_4'); ?></label>
|
||||
</p>
|
||||
<p><input type="submit" name="smbt" value="<?php echo $lang->get('general_save_changes'); ?>"/>
|
||||
</p>
|
||||
</form>
|
||||
|
|
|
@ -12,7 +12,7 @@ $GLOBALS['lang']->set('Create New Page', 'sp_create_new', 'en');
|
|||
|
||||
$_CONF['app_name'] = 'SimplePages';
|
||||
$_CONF['app_desc'] = 'Wird benutzt, um Einfache statische Seitn zu erzeugen und zu verwalten.';
|
||||
$_CONF['app_build'] = 1;
|
||||
$_CONF['app_build'] = 2;
|
||||
$_CONF['app_version'] = 'v0.9 Beta';
|
||||
$_CONF['base_url'] = '/'; //Basisurl des moduls, wenn es über das Frontend aufgerufen wird
|
||||
$_CONF['base_file'] = 'front/page.php'; //Datei, die angezeigt wird, wenn die basisurl aufgerufen wird
|
||||
|
|
|
@ -13,9 +13,13 @@ if (!isset($_GET['direct']))
|
|||
});
|
||||
</script>
|
||||
|
||||
<script src="<?php echo $MCONF['web_uri'] ?>admin/assets/js/moment.js"></script>
|
||||
|
||||
<!--<script src="<?php echo $MCONF['web_uri'] ?>admin/assets/js/page.js"></script>
|
||||
<script src="<?php echo $MCONF['web_uri'] ?>admin/assets/js/page.bodyparser.js"></script>-->
|
||||
<script>
|
||||
moment.locale('de');
|
||||
|
||||
//Msg
|
||||
function showMsg(msg) {
|
||||
$('#showMsg').html('<div class="snackbar"><a onclick="closeMsg();" class="closeMsg"><i class="fa fa-close"></i> </a><p>' + msg + '</p></div>');
|
||||
|
@ -53,6 +57,22 @@ if (!isset($_GET['direct']))
|
|||
})
|
||||
}
|
||||
|
||||
//showStream
|
||||
function showStream()
|
||||
{
|
||||
$('#streamContent').fadeToggle(100,function() {
|
||||
if($('#streamContent').is(":visible")) {
|
||||
$.getJSON('<?php echo $MCONF['home_uri'];?>admin/stream.php?getStream&limit=10', function (streamData) {
|
||||
$('#streamContent').html('');
|
||||
$.each(streamData, function (key, val) {
|
||||
$('#streamContent').append('<p>' + val.message + ' (' + moment(val.time * 1000).fromNow() + ')</p>');
|
||||
});
|
||||
$('#streamContent').append('<a href="<?php echo $MCONF['home_uri'];?>admin/stream.php" class="button">Mehr</a>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
//Router
|
||||
|
|
|
@ -47,7 +47,7 @@ class db
|
|||
}
|
||||
|
||||
//Daten holen
|
||||
public function get($where = [], $link = 'AND')
|
||||
public function get($where = [], $link = 'AND', $orderby = 'id', $order = 'ASC', $limit = null, $limitstart = 0)
|
||||
{
|
||||
if (isset($this->col))
|
||||
{
|
||||
|
@ -82,7 +82,17 @@ class db
|
|||
|
||||
//print_r($whereAr);
|
||||
|
||||
$stmt = $this->dbh->prepare('SELECT * FROM ' . $this->prefix . $this->col . $whereCl);
|
||||
//Order
|
||||
$orderstmt = 'ORDER BY '.$orderby.' '.$order;
|
||||
|
||||
//Limit
|
||||
$limitstmt = '';
|
||||
if(isset($limit))
|
||||
{
|
||||
$limitstmt = ' LIMIT ' . $limitstart . ', ' . $limit;
|
||||
}
|
||||
|
||||
$stmt = $this->dbh->prepare('SELECT * FROM `' . $this->prefix . $this->col .'`' . $whereCl.$orderstmt.$limitstmt);
|
||||
$stmt->execute($whereAr);
|
||||
|
||||
$all = [];
|
||||
|
@ -143,7 +153,6 @@ class db
|
|||
$i++;
|
||||
}
|
||||
$stmt .= ') VALUES (' . $valCnt . ')';
|
||||
//echo $stmt;
|
||||
|
||||
$insert = $this->dbh->prepare($stmt);
|
||||
return $insert->execute($vals);
|
||||
|
|
|
@ -278,6 +278,12 @@ echo '
|
|||
{
|
||||
echo '<div class="toploading"></div> <header>
|
||||
<span id="title">' . $title . '</span>
|
||||
<div style="float: right;">
|
||||
<div class="stream"><a onclick="showStream();"><i class="fa fa-bell-o" aria-hidden="true"></i></a><div id="streamContent"><div class="spinner-container" style="margin: 12px auto 0;">
|
||||
<svg class="spinner" style="width:41px;height:40px;" viewBox="0 0 44 44">
|
||||
<circle class="path" cx="22" cy="22" r="20" fill="none" stroke-width="4"></circle>
|
||||
</svg>
|
||||
</div></div></div>
|
||||
<div class="options" tabindex="0">
|
||||
<input type="checkbox" id="options_menu" />
|
||||
<label for="options_menu">
|
||||
|
@ -290,6 +296,7 @@ echo '
|
|||
</ul>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<label for="show-menu" class="show-menu"><i class="fa fa-bars"></i> </label>
|
||||
<input type="checkbox" id="show-menu" role="button">
|
||||
|
@ -672,4 +679,19 @@ function remote_file_exists($url)
|
|||
}
|
||||
}
|
||||
|
||||
//New Message to the stream
|
||||
function stream_message($msg, $lvl, $time = null, $user = null)
|
||||
{
|
||||
if(!isset($time)) $time = time();
|
||||
if(!isset($user)) $user = $_SESSION['userid'];
|
||||
|
||||
global $db;
|
||||
$db->setCol('system_stream');
|
||||
$db->data['time'] = $time;
|
||||
$db->data['user'] = intval($user);
|
||||
$db->data['lvl'] = $lvl;
|
||||
$db->data['message'] = $msg;
|
||||
return $db->insert();
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue