@@ -57,7 +57,8 @@
'page_modul_query' => 'STR',
'page_authorized_users' => 'STR',
'page_version' => 'STR',
'page_labels' => 'STR'
'page_labels' => 'STR',
'page_psw' => 'STR'
);

$pdo_fields_new = array(
@@ -91,7 +92,8 @@
'page_modul_query' => 'STR',
'page_authorized_users' => 'STR',
'page_version' => 'STR',
'page_labels' => 'STR'
'page_labels' => 'STR',
'page_psw' => 'STR'
);

$pdo_fields_cache = array(
@@ -127,7 +129,8 @@
'page_authorized_users' => 'STR',
'page_cache_type' => 'STR',
'page_version' => 'STR',
'page_labels' => 'STR'
'page_labels' => 'STR',
'page_psw' => 'STR'
);


@@ -213,6 +216,14 @@
$page_sort = "";
}

/* page thumbnails */
if(count($_POST['page_thumbnail']) > 1) {
$page_thumbnail = implode("<->", $_POST['page_thumbnail']);
} else {
$pt = $_POST['page_thumbnail'];
$page_thumbnail = $pt[0];
}

$page_hash = clean_filename($_POST['page_hash']);


@@ -236,6 +247,18 @@
$string_authorized_admins = "";
}

/* password */

if($_POST['page_psw'] != '') {
$page_psw = md5($_POST['page_psw']);
}
if($_POST['page_psw_relay'] != '' && $_POST['page_psw'] == '') {
$page_psw = $_POST['page_psw_relay'];
}
if($_POST['page_psw_reset'] == 'reset') {
$page_psw = '';
}

/* labels */
$arr_labels = $_POST['set_page_labels'];
if(is_array($arr_labels)) {
@@ -281,6 +304,9 @@
$sth->bindParam(':page_version', $page_version, PDO::PARAM_INT);
$sth->bindParam(':page_hash', $page_hash, PDO::PARAM_STR);
$sth->bindParam(':page_meta_robots', $page_meta_robots, PDO::PARAM_STR);
$sth->bindParam(':page_thumbnail', $page_thumbnail, PDO::PARAM_STR);
$sth->bindParam(':page_psw', $page_psw, PDO::PARAM_STR);


$cnt_changes = $sth->execute();

@@ -318,6 +344,8 @@
$std->bindParam(':page_cache_type', $page_cache_type, PDO::PARAM_STR);
$std->bindParam(':page_hash', $page_hash, PDO::PARAM_STR);
$sth->bindParam(':page_meta_robots', $page_meta_robots, PDO::PARAM_STR);
$sth->bindParam(':page_thumbnail', $page_thumbnail, PDO::PARAM_STR);
$sth->bindParam(':page_psw', $page_psw, PDO::PARAM_STR);

$cnt_changes_c = $std->execute();

@@ -346,6 +374,8 @@
$sth->bindParam(':page_authorized_users', $string_authorized_admins, PDO::PARAM_STR);
$sth->bindParam(':page_hash', $page_hash, PDO::PARAM_STR);
$sth->bindParam(':page_meta_robots', $page_meta_robots, PDO::PARAM_STR);
$sth->bindParam(':page_thumbnail', $page_thumbnail, PDO::PARAM_STR);
$sth->bindParam(':page_psw', $page_psw, PDO::PARAM_STR);

$cnt_changes = $sth->execute();
$editpage = $dbh->lastInsertId();
@@ -385,6 +415,8 @@
$std->bindParam(':page_version', $page_version, PDO::PARAM_INT);
$sth->bindParam(':page_hash', $page_hash, PDO::PARAM_STR);
$sth->bindParam(':page_meta_robots', $page_meta_robots, PDO::PARAM_STR);
$sth->bindParam(':page_thumbnail', $page_thumbnail, PDO::PARAM_STR);
$sth->bindParam(':page_psw', $page_psw, PDO::PARAM_STR);

$cnt_changes_c = $std->execute();

@@ -398,7 +430,7 @@

if($modus == "preview") {

$page_id_original = "$editpage";
$page_id_original = $editpage;
$page_cache_type = "preview";

$sql = generate_sql_insert_str($pdo_fields_cache,"fc_pages_cache");
@@ -477,15 +509,15 @@

$form_title = '<h3>'.$lang['h_modus_editpage'].' - <small>'.$page_title.' (Version: '.$page_version.' ID: '.$editpage.')</small></h3>';
//set submit button
$submit_button = "<input type='submit' class='btn btn-success' name='save_the_page' value='$lang[update_page]'>";
$submit_button = "<input type='submit' class='btn btn-save w-100' name='save_the_page' value='$lang[update_page]'>";
$delete_button = "<hr><input type='submit' class='btn btn-danger btn-sm btn-block' name='delete_the_page' value='$lang[delete_page]' onclick=\"return confirm('$lang[confirm_delete_data]')\">";
$previev_button = "<input type='submit' class='btn btn-default' id='preview_the_page' name='preview_the_page' value='$lang[preview]'>";
$previev_button = "<input type='submit' class='btn btn-fc w-100' id='preview_the_page' name='preview_the_page' value='$lang[preview]'>";

if($modus == 'duplicate') {
$form_title = '<h3>'.$lang['h_modus_duplicate'].' - '.$page_title.'</h3>';
$submit_button = "<input type='submit' class='btn btn-success' name='save_the_page' value='$lang[save_duplicate]'>";
$submit_button = "<input type='submit' class='btn btn-save w-100 btn-outline-success' name='save_the_page' value='$lang[save_duplicate]'>";
$delete_button = '';
$previev_button = "<input type='submit' class='btn btn-default btn-block disabled' id='preview_the_page' name='preview_the_page' value='$lang[preview]'>";
$previev_button = '';
}

} else {
@@ -494,9 +526,9 @@

$form_title = '<h3>'.$lang['h_modus_newpage'].'</h3>';
//set submit button
$submit_button = "<input type='submit' class='btn btn-success' name='save_the_page' value='$lang[save_new_page]'>";
$delete_button = "";
$previev_button = "<input type='submit' class='btn btn-default btn-block disabled' id='preview_the_page' name='preview_the_page' value='$lang[preview]'>";
$submit_button = "<input type='submit' class='btn btn-save btn-block' name='save_the_page' value='$lang[save_new_page]'>";
$delete_button = '';
$previev_button = '';
}

echo $form_title;
@@ -609,7 +641,7 @@
<td width='100'>$time</td>
<td>" . $cache_result[$i]['page_title'] . "</td>
<td> " . $cache_result[$i]['page_lastedit_from'] . "</td>
<td width='100' align='right'><a class='btn btn-default btn-sm' href='acp.php?tn=pages&sub=edit&restore_id=$page_id&editpage=$editpage'>$lang[edit]</a></td>
<td width='100' align='right'><a class='btn btn-light btn-sm' href='acp.php?tn=pages&sub=edit&restore_id=$page_id&editpage=$editpage'>$lang[edit]</a></td>
</tr>";
}

Large diffs are not rendered by default.

@@ -63,17 +63,17 @@
}


echo '<div class="panel panel-default">';
echo '<div class="panel-heading">';
echo '<h3 class="panel-title">' .$feed_date. ' ' .$ts_diff_string. '</h3>';
echo '<div class="card mb-1">';
echo '<div class="card-header">';
echo $feed_date. ' ' .$ts_diff_string;
echo '</div>';
echo '<div class="panel-body">';
echo '<div class="card-body">';
echo '<h3>'.$feed_title.'</h3>';
echo $feed_text;
echo '<p><a href="'.$feed_url.'" target="_blank">'.$feed_url.'</a></p>';
echo '<div class="formfooter">';
echo "<a class='btn btn-danger' href='acp.php?tn=pages&sub=rss&delete=$feed_id' onclick=\"return confirm('$lang[confirm_delete_data]')\">$lang[delete]</a>";
echo '</div>';
echo '<hr>';
echo "<a class='btn btn-fc text-danger' href='acp.php?tn=pages&sub=rss&delete=$feed_id' onclick=\"return confirm('$lang[confirm_delete_data]')\">$lang[delete]</a>";

echo '</div>';
echo '</div>';

@@ -1,13 +1,13 @@
<?php

//prohibit unauthorized access
require("core/access.php");
require 'core/access.php';

$dbh = new PDO("sqlite:".CONTENT_DB);

unset($result);
/* $_SESSION[filter_string] was defined in inc.pages.php */
$sql = "SELECT page_id, page_language, page_linkname, page_title, page_meta_description, page_sort, page_lastedit, page_lastedit_from, page_status, page_template, page_modul, page_authorized_users, page_permalink, page_redirect, page_redirect_code, page_labels
$sql = "SELECT page_id, page_language, page_linkname, page_title, page_meta_description, page_sort, page_lastedit, page_lastedit_from, page_status, page_template, page_modul, page_authorized_users, page_permalink, page_redirect, page_redirect_code, page_labels, page_psw
FROM fc_pages
$_SESSION[filter_string]
ORDER BY page_language ASC, page_sort ASC, page_linkname ASC";
@@ -33,9 +33,10 @@

echo '<div class="app-container">';

echo '<div class="subHeader">';
echo '<div class="row">';
echo '<div class="col-md-3">';
echo '<fieldset>';
echo '<fieldset class="mb-0">';
echo '<legend>Filter</legend>';
echo $kw_form;
if($btn_remove_keyword != '') {
@@ -44,23 +45,25 @@
echo '</fieldset>';
echo '</div>';
echo '<div class="col-md-7">';
echo '<fieldset>';
echo '<fieldset class="mb-0">';
echo '<legend>'.$lang['f_page_status'].'/'.$lang['f_page_language'].'</legend>';
echo $status_btn_group . ' ' . $lang_btn_group;

echo '</fieldset>';
echo '</div>';

echo '<div class="col-md-2">';
echo '<fieldset>';
echo '<fieldset class="mb-0">';
echo '<legend>Labels</legend>';
echo '<div class="pull-right"><button id="toggleExpand" class="btn btn-link btn-sm"><span class="glyphicon glyphicon-collapse-down"></span></button></div>';
echo '<div class="float-right"><button id="toggleExpand" class="btn btn-link btn-sm">'.$icon['angle_down'].'</button></div>';
echo $label_btn;

echo '</fieldset>';
echo '</div>';
echo '</div>';

echo '</div>';



echo '<div class="max-height-container">';
@@ -113,16 +116,20 @@
$show_template_name = $page_template;
}

if($result[$i]['page_psw'] != '') {
$page_title = $icon['lock'].' '.$page_title;
}

if(strlen($page_description) > 100) {
$page_description = substr($page_description, 0, 100) .' <small>(&hellip;)</small>';
}

if($page_description == '') {
$page_description = '<span class="text-danger">'.$lang['alert_no_page_description'].'</span>';
$page_description = '<span class="text-danger">'.$icon['exclamation_triangle'].' '.$lang['alert_no_page_description'].'</span>';
}

if($page_title == '') {
$page_title = '<span class="text-danger">'.$lang['alert_no_page_title'].'</span>';
$page_title = '<span class="text-danger">'.$icon['exclamation_triangle'].' '.$lang['alert_no_page_title'].'</span>';
}

$points_of_page = substr_count($page_sort, '.');
@@ -148,7 +155,7 @@
}

if($page_redirect != '') {
$page_redirect = '<span class="glyphicon glyphicon-arrow-right"></span> '.$page_redirect;
$page_redirect = $icon['long_arrow_alt_right'].' '.$page_redirect;
$item_class .= ' page-list-item-redirect';
}

@@ -157,17 +164,16 @@
/* check for display edit button */

if($_SESSION['acp_editpages'] == "allowed"){
$edit_button = "<a class='btn btn-sm btn-default' href='acp.php?tn=pages&sub=edit&editpage=$page_id' title='$lang[edit]'><span class='glyphicon glyphicon-edit'></span></a>";
$duplicate_button = "<a class='btn btn-sm btn-default' href='acp.php?tn=pages&sub=edit&editpage=$page_id&duplicate=1' title='$lang[duplicate]'><span class='glyphicon glyphicon-duplicate'></span></a>";

$edit_button = '<a class="btn btn-sm btn-fc w-100" href="acp.php?tn=pages&sub=edit&editpage='.$page_id.'" title="'.$lang['edit'].'">'.$icon['edit'].'</a>';
$duplicate_button = '<a class="btn btn-sm btn-fc w-100" href="acp.php?tn=pages&sub=edit&editpage='.$page_id.'&duplicate=1" title="'.$lang['duplicate'].'">'.$icon['copy'].'</a>';
} else {
$edit_button = '';
$duplicate_button = '';
}

$arr_checked_admins = explode(",",$page_authorized_users);
if(in_array("$_SESSION[user_nick]", $arr_checked_admins)) {
$edit_button = "<a class='btn btn-sm btn-default' href='acp.php?tn=pages&sub=edit&editpage=$page_id' title='$lang[edit]'><span class='glyphicon glyphicon-edit'></span></a>";
$edit_button = '<a class="btn btn-sm btn-fc w-100" href="acp.php?tn=pages&sub=edit&editpage='.$page_id.'" title="'.$lang['edit'].'">'.$icon['edit'].'</a>';
}

$label = '';
@@ -194,7 +200,7 @@
$show_mod = '';
if($page_modul != '') {
$page_modul_title = substr($page_modul, 0,-4);
$show_mod = ' <small><span class="glyphicon glyphicon-cog" title="'.$page_modul_title.'"></span></small>';
$show_mod = ' <small>'.$icon['cog'].' '.$page_modul_title.'</small><br>';
}

if($page_redirect != '') {
@@ -203,7 +209,7 @@
}
}

$page_comments_link = '<a data-fancybox data-type="ajax" class="btn btn-sm btn-default" data-src="core/ajax.comments.php?pid='.$page_id.'"><span class="glyphicon glyphicon-comment"></span> '. $page_cnt_comments.'</a>';
$page_comments_link = '<a data-fancybox data-type="ajax" href="javascript:;" class="btn btn-sm btn-fc w-100" data-src="core/ajax.comments.php?pid='.$page_id.'">'.$icon['comments'].' <small>'. $page_cnt_comments.'</small></a>';


$str = array(
@@ -234,16 +240,17 @@
echo '</div>';
echo '<div class="col-sm-6">';



/**
* list all pages where
* page_sort == empty
* or page_sort == portal
*/

echo '<div class="scroll-box">';

echo '<fieldset>';
echo '<legend>' . $lang['legend_unstructured_pages'] . '</legend>';
echo '<div class="scroll-box">';
echo '<div class="pages-list-container">';


@@ -254,6 +261,7 @@
}

unset($show_redirect,$page_modul);
$indent = 0;

$page_id = $result[$i]['page_id'];
$page_sort = $result[$i]['page_sort'];
@@ -278,20 +286,24 @@
$show_template_name = "$page_template";
}

if($result[$i]['page_psw'] != '') {
$page_title = $icon['lock'].' '.$page_title;
}

if($page_sort == 'portal') {
$page_linkname = '<span class="glyphicon glyphicon-home"></span> ' . $page_linkname;
$page_linkname = $icon['home'].' ' . $page_linkname;
}

if(strlen($page_description) > 100) {
$page_description = substr($page_description, 0, 100) .' <small>(&hellip;)</small>';
}

if($page_description == '') {
$page_description = '<span class="text-danger">'.$lang['alert_no_page_description'].'</span>';
$page_description = '<span class="text-danger">'.$icon['exclamation_triangle'].' '.$lang['alert_no_page_description'].'</span>';
}

if($page_title == '') {
$page_title = '<span class="text-danger">'.$lang['alert_no_page_title'].'</span>';
$page_title = '<span class="text-danger">'.$icon['exclamation_triangle'].' '.$lang['alert_no_page_title'].'</span>';
}

$hits_id = $page_id;
@@ -320,7 +332,7 @@
}

if($page_redirect != '') {
$page_redirect = '<span class="glyphicon glyphicon-arrow-right"></span> '.$page_redirect;
$page_redirect = $icon['long_arrow_alt_right'].' '.$page_redirect;
$item_class .= ' page-list-item-redirect';
}

@@ -329,16 +341,16 @@
/* check for display edit button */

if($_SESSION['acp_editpages'] == "allowed"){
$edit_button = "<a class='btn btn-sm btn-default' href='acp.php?tn=pages&sub=edit&editpage=$page_id' title='$lang[edit]'><span class='glyphicon glyphicon-edit'></span></a>";
$duplicate_button = "<a class='btn btn-sm btn-default' href='acp.php?tn=pages&sub=edit&editpage=$page_id&duplicate=1' title='$lang[duplicate]'><span class='glyphicon glyphicon-duplicate'></span></a>";
$edit_button = '<a class="btn btn-sm btn-fc w-100" href="acp.php?tn=pages&sub=edit&editpage='.$page_id.'" title="'.$lang['edit'].'">'.$icon['edit'].'</a>';
$duplicate_button = '<a class="btn btn-sm btn-fc w-100" href="acp.php?tn=pages&sub=edit&editpage='.$page_id.'&duplicate=1" title="'.$lang['duplicate'].'">'.$icon['copy'].'</a>';
} else {
$edit_button = '';
$duplicate_button = '';
}

$arr_checked_admins = explode(",",$page_authorized_users);
if(in_array("$_SESSION[user_nick]", $arr_checked_admins)) {
$edit_button = "<a class='btn btn-sm btn-default' href='acp.php?tn=pages&sub=edit&editpage=$page_id' title='$lang[edit]'><span class='glyphicon glyphicon-edit'></span></a>";
$edit_button = '<a class="btn btn-sm btn-fc w-100" href="acp.php?tn=pages&sub=edit&editpage='.$page_id.'" title="'.$lang['edit'].'">'.$icon['edit'].'</a>';
}

$label = '';
@@ -365,7 +377,7 @@
$show_mod = '';
if($page_modul != '') {
$page_modul_title = substr($page_modul, 0,-4);
$show_mod = ' <small><span class="glyphicon glyphicon-cog" title="'.$page_modul_title.'"></span></small>';
$show_mod = ' <small>'.$icon['cog'].' '.$page_modul_title.'</small><br>';
}

if($page_redirect != '') {
@@ -374,7 +386,7 @@
}
}

$page_comments_link = '<a data-fancybox data-type="ajax" class="btn btn-sm btn-default" data-src="core/ajax.comments.php?pid='.$page_id.'"><span class="glyphicon glyphicon-comment"></span> '. $page_cnt_comments.'</a>';
$page_comments_link = '<a data-fancybox data-type="ajax" href="javascript:;" class="btn btn-sm btn-fc w-100" data-src="core/ajax.comments.php?pid='.$page_id.'">'.$icon['comments'].' <small>'. $page_cnt_comments.'</small></a>';

$str = array(
'{status-label}','{item-linkname}','{item-title}',
@@ -397,8 +409,9 @@
} // eol for $i

echo '</div>';
echo"</fieldset>";
echo '</div>';
echo '</fieldset>';


echo '</div>';
echo '</div>';

Large diffs are not rendered by default.

@@ -0,0 +1,336 @@
<?php

//prohibit unauthorized access
require 'core/access.php';

if($_REQUEST['snip_id'] == 'n') {
$modus = 'new';
} else {
$modus = 'update';
}

/**
* open snippet
*/

if(!isset($snip_id)) {
$snip_id = (int) $_REQUEST['snip_id'];
}

$dbh = new PDO("sqlite:".CONTENT_DB);
$sql = "SELECT * FROM fc_textlib WHERE textlib_id = $snip_id ";

$result = $dbh->query($sql);
$result = $result->fetch(PDO::FETCH_ASSOC);

$dbh = null;

if(is_array($result)) {
foreach($result as $k => $v) {
$$k = htmlspecialchars(stripslashes($v));
}
}





echo "<form action='acp.php?tn=pages&sub=snippets' method='POST'>";

echo '<div class="row">';
echo '<div class="col-md-9">';

echo '<div class="card">';
echo '<div class="card-header">';

echo '<ul class="nav nav-tabs card-header-tabs" id="bsTabs" role="tablist">';
echo '<li class="nav-item"><a class="nav-link active" href="#content" data-toggle="tab">'.$lang['tab_content'].'</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="#images" data-toggle="tab">'.$lang['images'].'</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="#link" data-toggle="tab">'.$lang['label_url'].'</a></li>';
echo '</ul>';

echo '</div>';
echo '<div class="card-body">';

echo '<div class="tab-content">';

echo '<div class="tab-pane fade show active" id="content">';

echo '<div class="row">';
echo '<div class="col-md-4">';

echo '<div class="form-group">';
echo '<label>'.$lang['filename'].' <small>(a-z,0-9)</small></label>';
echo '<input class="form-control" type="text" name="snippet_name" value="'.$textlib_name.'">';
echo '</div>';

echo '</div>';
echo '<div class="col-md-8">';

echo '<div class="form-group">';
echo '<label>'.$lang['label_title'].'</label>';
echo '<input class="form-control" type="text" name="snippet_title" value="'.$textlib_title.'">';
echo '</div>';

echo '</div>';
echo '</div>';





echo '<textarea class="form-control mceEditor switchEditor" id="textEditor" name="textlib_content">'.$textlib_content.'</textarea>';
echo '<input type="hidden" name="text" value="'.$text.'">';



echo '<div class="row">';
echo '<div class="col-md-6">';

echo '<div class="form-group">';
echo '<label>'.$lang['label_keywords'].'</label>';
echo '<input class="form-control" type="text" name="snippet_keywords" value="'.$textlib_keywords.'" data-role="tagsinput" />';
echo '</div>';

echo '</div>';
echo '<div class="col-md-6">';

echo '<div class="form-group">';
echo '<label>'.$lang['label_classes'].'</label>';
echo '<input class="form-control" type="text" name="snippet_classes" value="'.$textlib_classes.'" />';
echo '</div>';

echo '</div>';
echo '</div>';



echo '</div>';
echo '<div class="tab-pane fade" id="images">';

$arr_Images = fc_get_all_images_rec("$prefs_pagethumbnail_prefix",NULL);
$snippet_thumbnail_array = explode("&lt;-&gt;", $textlib_images);

echo '<div class="scroll-container">';
echo '<select multiple="multiple" name="snippet_thumbnail[]" class="form-control image-picker">';

/* if we have selected images, show them first */
if(count($snippet_thumbnail_array) > 0) {
echo '<optgroup label="SELECTED">';
foreach($snippet_thumbnail_array as $sel_images) {
if(is_file('..'.$sel_images)) {
echo '<option selected data-img-src="'.$sel_images.'" title="'.$sel_images.'" class="masonry-item" value="'.$sel_images.'">'.basename($sel_images).'</option>';
}
}
echo '</optgroup>'."\r\n";
}

echo '<optgroup label="NO SELECTED">';
echo '<option value="">'.$lang['page_thumbnail'].'</option>';
foreach($arr_Images as $page_thumbnails) {
$selected = "";
$page_thumbnails = str_replace('../', '/', $page_thumbnails);
if(strpos($page_thumbnail, $page_thumbnails) !== false) {
$selected = "selected";
}
if(!in_array($page_thumbnails, $page_thumbnail_array)) {
echo '<option '.$selected.' data-img-src="'.$page_thumbnails.'" title="'.$page_thumbnails.'" class="masonry-item" value="'.$page_thumbnails.'">'.basename($page_thumbnails).'</option>';
}
}
echo '</optgroup>'."\r\n";
echo '</select>';
echo '</div>';

echo '</div>'; // images
echo '<div class="tab-pane fade" id="link">';

echo '<div class="form-group mt-2">';
echo '<label>'.$lang['label_url'].'</label>';
echo '<input class="form-control" type="text" name="snippet_permalink" value="'.$textlib_permalink.'" />';
echo '</div>';

echo '<div class="form-group mt-2">';
echo '<label>'.$lang['label_url_name'].'</label>';
echo '<input class="form-control" type="text" name="snippet_permalink_name" value="'.$textlib_permalink_name.'" />';
echo '</div>';

echo '<div class="form-group mt-2">';
echo '<label>'.$lang['label_url_title'].'</label>';
echo '<input class="form-control" type="text" name="snippet_permalink_title" value="'.$textlib_permalink_title.'" />';
echo '</div>';

echo '<div class="form-group mt-2">';
echo '<label>'.$lang['label_url_classes'].'</label>';
echo '<input class="form-control" type="text" name="snippet_permalink_classes" value="'.$textlib_permalink_classes.'" />';
echo '</div>';

echo '</div>'; // link





echo '</div>';
echo '</div>';
echo '</div>';



if($textlib_name != '') {
$get_snip_name_editor = '[snippet]'.$textlib_name.'[/snippet]';
echo '<hr><div class="form-group">';
echo '<label>Snippet</label>';
echo '<input type="text" class="form-control" placeholder="[snippet]...[/snippet]" value="'.$get_snip_name_editor.'" readonly>';
echo '</div>';
}

echo '</div>';
echo '<div class="col-md-3">';


echo '<div class="card">';
echo '<div class="card-header">'.$lang['tab_page_preferences'].'</div>';
echo '<div class="card-body" style="padding-left:20px;padding-right:20px;">';



echo '<div class="form-group">';
echo '<div class="btn-group btn-group-toggle d-flex" data-toggle="buttons" role="flex">';
echo '<label class="btn btn-sm btn-fc w-100"><input type="radio" name="optEditor" value="optE1"> WYSIWYG</label>';
echo '<label class="btn btn-sm btn-fc w-100"><input type="radio" name="optEditor" value="optE2"> Text</label>';
echo '<label class="btn btn-sm btn-fc w-100"><input type="radio" name="optEditor" value="optE3"> Code</label>';
echo '</div>';
echo '</div>';


$select_textlib_language = '<select name="sel_language" class="custom-select form-control">';
for($i=0;$i<count($arr_lang);$i++) {
$lang_sign = $arr_lang[$i]['lang_sign'];
$lang_desc = $arr_lang[$i]['lang_desc'];
$lang_folder = $arr_lang[$i]['lang_folder'];
$select_textlib_language .= "<option value='$lang_folder'".($textlib_lang == "$lang_folder" ? 'selected="selected"' :'').">$lang_sign</option>";
}
$select_textlib_language .= '</select>';

echo '<div class="row">';
echo '<div class="col-md-6">';

echo '<div class="form-group">';
echo '<label>'.$lang['f_page_language'].'</label>';
echo $select_textlib_language;
echo '</div>';

echo '</div>';
echo '<div class="col-md-6">';

echo '<div class="form-group">';
echo '<label>'.$lang['label_priority'].'</label>';
echo '<input class="form-control" type="text" name="snippet_priority" value="'.$textlib_priority.'">';
echo '</div>';

echo '</div>';
echo '</div>';

/* Select Template */

$arr_Styles = get_all_templates();

$select_select_template = '<select id="select_template" name="select_template" class="custom-select form-control">';

if($textlib_template == '') {
$selected_standard = 'selected';
}

$select_select_template .= "<option value='use_standard<|-|>use_standard' $selected_standard>$lang[use_standard]</option>";

/* templates list */
foreach($arr_Styles as $template) {

$arr_layout_tpl = glob("../styles/$template/templates/snippet*.tpl");

$select_select_template .= "<optgroup label='$template'>";

foreach($arr_layout_tpl as $layout_tpl) {
$layout_tpl = basename($layout_tpl);

$selected = '';
if($template == "$textlib_theme" && $layout_tpl == "$textlib_template") {
$selected = 'selected';
}

$select_select_template .= "<option $selected value='$template<|-|>$layout_tpl'>$template » $layout_tpl</option>";
}

$select_select_template .= '</optgroup>';

}

$select_select_template .= '</select>';

echo '<div class="form-group">';
echo '<label>'.$lang['f_page_template'].'</label>';
echo $select_select_template;
echo '</div>';


$cnt_labels = count($fc_labels);
$arr_checked_labels = explode(",", $textlib_labels);

for($i=0;$i<$cnt_labels;$i++) {
$label_title = $fc_labels[$i]['label_title'];
$label_id = $fc_labels[$i]['label_id'];
$label_color = $fc_labels[$i]['label_color'];

if(in_array("$label_id", $arr_checked_labels)) {
$checked_label = "checked";
} else {
$checked_label = "";
}

$checkbox_set_labels .= '<div class="form-check form-check-inline">';
$checkbox_set_labels .= '<input class="form-check-input" id="label'.$label_id.'" type="checkbox" '.$checked_label.' name="snippet_labels[]" value="'.$label_id.'">';
$checkbox_set_labels .= '<label class="form-check-label" for="label'.$label_id.'">'.$label_title.'</label>';
$checkbox_set_labels .= '</div>';
}

echo '<div class="form-group">';
echo '<p>'.$lang['labels'].'</p>';
echo $checkbox_set_labels;
echo '</div>';


echo '<div class="form-group">';
echo '<label>'.$lang['label_groups'].'</label>';
echo '<input class="form-control" type="text" name="snippet_groups" value="'.$textlib_groups.'" />';
echo '</div>';

echo '<div class="alert alert-dark" style="padding:2px 3px;">';
echo '<strong>'.$lang['label_notes'].':</strong>';
echo '<textarea class="masked-textarea" name="textlib_notes" rows="5">'.$textlib_notes.'</textarea>';
echo '</div>';

echo '<div class="well well-sm">';
if($modus == 'new') {
echo '<input type="submit" name="save_snippet" class="btn btn-save btn-block" value="'.$lang['save'].'">';
} else {
echo '<input type="hidden" name="snip_id" value="'.$snip_id.'">';
echo '<input type="submit" name="save_snippet" class="btn btn-save btn-block" value="'.$lang['update'].'"> ';
echo '<div class="mt-1 d-flex">';
echo '<a class="btn btn-fc w-100 mr-1" href="acp.php?tn=pages&sub=snippets">'.$lang['discard_changes'].'</a> ';
echo '<input type="submit" name="delete_snippet" class="btn btn-fc text-danger" value="'.$lang['delete'].'" onclick="return confirm(\''.$lang['confirm_delete_data'].'\')">';
echo '</div>';
}
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
echo '</div>';


echo '</div>';
echo '</div>';

echo '</div>';
echo '</div>';


echo '</form>';

?>
@@ -69,7 +69,12 @@
$maininc = "inc.system";
$navinc = "nav.system";
break;


case "tests":
$active[5] = "topnav_selected";
$maininc = "inc.tests";
$navinc = "nav.system";
break;

default:
$active[0] = "topnav_selected";
@@ -1,7 +1,7 @@
<?php

//prohibit unauthorized access
require("core/access.php");
require 'core/access.php';

echo '<h3>Backup</h3>';
echo '<div class="alert alert-info">'.$lang['backup_description'].'</div>';
@@ -24,6 +24,33 @@

$dbfiles = glob("$data_folder/*.sqlite3");


if(isset($_GET['vac'])) {

$vac_file = $data_folder.'/'.basename($_GET['vac']);



if(is_file($vac_file)) {

echo '<div class="well well-sm">';
echo '<h3>VACUUM: '.$vac_file.' <small>';
echo $lang['filesize'].': '.readable_filesize(filesize("$vac_file")). '</small></h3>';

$dbh = new PDO("sqlite:".$vac_file);
$sth = $dbh->prepare("VACUUM");
$sth->execute();
$dbh = null;
clearstatcache();

echo '<p>'.$lang['filesize'].': '.readable_filesize(filesize("$vac_file")). '</p>';

echo '</div>';

}
}


echo"<div id='container'>";
echo"<div id='masonry-container'>";

@@ -38,19 +65,21 @@

echo '<div class="masonry-item">';
echo '<div class="masonry-item-inner">';
echo '<h4>'.$db_file.'</h4>';
echo "<p>$lang[filesize]: ~ $db_bytes<br />$lang[lastedit]:<br />$db_time</p>";
echo '<h5>'.$db_file.'</h5>';
echo "<p>$lang[filesize]: ~ $db_bytes<br>$lang[lastedit]:<br>$db_time</p>";
echo '<form action="?tn=system&sub=backup" method="POST">';
echo '<div class="btn-group btn-group-justified" role="group">';
echo '<div class="btn-group" role="group">';
//echo '<input type="submit" class="btn btn-success btn-xs" name="dl" value="'.$lang['download'].'">';
echo '<a class="btn btn-success btn-xs" href="'.$dload_link.'"><span class="glyphicon glyphicon-cloud-download"></span> '.$lang['download'].'</a>';
echo '</div>';
echo '<div class="btn-group d-flex" role="group">';
echo '<a class="btn btn-fc btn-sm w-100 text-success" href="'.$dload_link.'">'.$icon['download'].' '.$lang['download'].'</a>';

if(substr("$db_file", 0, 7) == 'logfile') {
echo '<div class="btn-group" role="group">';
echo '<input type="submit" class="btn btn-danger btn-xs" name="delete" value="'.$lang['delete'].'">';
echo '</div>';

echo '<button type="submit" class="btn btn-fc btn-sm w-100 text-danger" name="delete">'.$icon['trash_alt'].'</button>';

}

echo '<a class="btn btn-fc btn-sm w-100" title="VACUUM" href="?tn=system&sub=backup&vac='.$db_file.'">'.$icon['compress'].'</a>';


echo '</div>';
echo '<input type="hidden" name="file" value="'.$db_file.'">';
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
@@ -66,5 +95,4 @@




?>
@@ -43,11 +43,11 @@
$log_dir = "../" . FC_CONTENT_DIR . "/SQLite";
$logfiles = glob("$log_dir/logfile*");

echo"<fieldset>";
echo"<legend>$lang[select_logfile]</legend>";
echo"<form action='acp.php?tn=system&sub=stats' method='POST' class='form-inline'>";
echo '<div class="form-group">';
echo"<select name='select_logfile' class='form-control'>";
echo '<fieldset>';
echo '<legend>'.$lang['select_logfile'].'</legend>';
echo '<form action="acp.php?tn=system&sub=stats" method="POST" class="form-inline">';
echo '<div class="form-group mx-sm-3">';
echo '<select name="select_logfile" class="custom-select form-control">';

foreach($logfiles as $fn) {

@@ -61,12 +61,14 @@
echo"<option $selected value='$fn'>$month $get_year</option>";
}

echo"</select> ";
echo '</select>';
echo '</div> ';
echo"<input type='submit' class='btn btn-default' name='select_log' value='$lang[choose]'>";
echo '<div class="form-group">';
echo '<input type="submit" class="btn btn-fc" name="select_log" value="'.$lang['choose'].'">';
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
echo"</form>";
echo"</fieldset>";
echo '</div> ';
echo '</form>';
echo '</fieldset>';



@@ -103,10 +105,7 @@

$cnt_entries = $stat_result['All'];


$sql = "SELECT * FROM fc_logfile
ORDER BY log_time DESC
LIMIT $start, $entries_per_page";
$sql = "SELECT * FROM fc_logfile ORDER BY log_time DESC LIMIT $start, $entries_per_page";

unset($result);
foreach ($dbh->query($sql) as $row) {
@@ -117,38 +116,31 @@
$dbh = null;





$filesize = round((filesize("$logfile_path") / 1024), 2);

$get_month = 'm' . substr("$filename", 11, 2);
$month = $lang[$get_month];
$get_year = substr("$filename", 7, 4);


echo"<h4>$month $get_year <small>$cnt_entries $lang[logfile_hits] » $filesize kb</small></h4>";
echo "<h4>$month $get_year <small>$cnt_entries $lang[logfile_hits] » $filesize kb</small></h4>";

echo"<div style='float:left;width:200px;padding:8px;'>";
echo '<div style="float:left;width:200px;padding:8px;">';


echo"<table class='table table-condensed'>";
echo '<table class="table table-sm">';

arsort($stat_result);

foreach ($stat_result as $k => $v) {
if($v > 0){
echo " <tr>
<td>$k:</td>
<td align='right'>$v</td>
</tr> ";
echo '<tr><td>'.$k.':</td><td align="right">'.$v.'</td></tr>';
}
}


echo"</table>";

echo"</div>"; // eo float
echo '</table>';
echo '</div>'; // eo float



@@ -157,11 +149,12 @@
echo"<div style='margin-left:220px;padding:8px;'>";

echo '<div class="scroll-container">';

echo '<table class="table table-sm table-striped">';

for($i=0;$i<$cnt_result;$i++) {

$log_time = date("d.m.Y H:i:s",$result[$i]['log_time']);
$log_time_day = date("d.m.Y",$result[$i]['log_time']);
$log_time = date("H:i:s",$result[$i]['log_time']);
$log_id = $result[$i]['log_id'];
$log_ip = filter_var($result[$i]['log_ip'], FILTER_SANITIZE_STRING);
$log_ua = filter_var($result[$i]['log_ua'], FILTER_SANITIZE_STRING);
@@ -174,25 +167,25 @@
$bg_color = "#f1f1f1";
}


echo"<dl class='dl-horizontal dl-logfile'>";

echo"<dt>Zeit:</dt> <dd>$log_time</dd>";
echo"<dt>IP:</dt> <dd>$log_ip</dd>";

echo '<tr>';
echo '<td>'.$log_time_day.'<br>'.$log_time.'</td>';
echo '<td>';
echo 'IP: '.$log_ip;
if($log_query != "") {
echo"<dt>query:</dt> <dd>$log_query</dd>";
echo '<br>Query: '.$log_query;
}
if($log_ref != "") {
echo"<dt>Referer:</dt> <dd><span style='color:#390;'>$log_ref</span></dd>";
echo '<br>Referer: '.$log_ref;
}
if($log_ua != "") {
echo"<dt>User Agent:</dt> <dd>$log_ua</dd>";
echo '<br>User Agent: '.$log_ua;
}
echo"</dl>";
echo '</td>';
echo '</tr>';

} // eol $i

echo '</table>';


echo"</div>";
@@ -201,25 +194,23 @@

/* pagination */
$pages = ceil($cnt_entries/$entries_per_page);
echo"<div id='pagina'><p>";
echo '<hr>';
for($i=0;$i<$pages;$i++) {
$nbr = $i+1;
$pag_class = "btn btn-default btn-sm";
if(($i*$entries_per_page) == "$start") { $pag_class = "btn btn-default btn-sm active"; }
$pag_class = "btn btn-fc btn-sm";
if(($i*$entries_per_page) == "$start") { $pag_class = "btn btn-fc btn-sm active"; }
echo"<a class='$pag_class' href='acp.php?tn=system&sub=stats&start=$i'>$nbr</a> ";
}

echo"</p></div>";
/* pagination */




echo"</div>"; // eo float div
echo '</div>'; // eo float div

} else {

echo"<div id='sys_message_error'>No logfile</div>";
echo '<div class="alert alert-info">No logfile</div>';

}

Large diffs are not rendered by default.

@@ -214,6 +214,7 @@ function compare_versions() {

global $lang;
global $remote_versions;
global $icon;

if(is_file("versions.php")){
include 'versions.php';
@@ -222,11 +223,11 @@ function compare_versions() {
$fc_version_build = '';
}

echo '<table class="table table-condensed table-bordered">';
echo '<table class="table table-condensed">';
echo '<thead>';
echo '<tr>
<th><span class="glyphicon glyphicon-hdd"></span> '. $_SERVER['SERVER_NAME'] .'</th>
<th><span class="glyphicon glyphicon-globe"></span> updates.flatCore.de</th>
<th>'.$icon['database'].' '. $_SERVER['SERVER_NAME'] .'</th>
<th>'.$icon['server'].' updates.flatCore.de</th>
</tr>';
echo '</thead>';

@@ -7,6 +7,8 @@


$bs_form_control_group = file_get_contents('templates/bs-form-control-group.tpl');
$bs_form_checkbox = file_get_contents('templates/bs-form-checkbox.tpl');
$bs_form_radio = file_get_contents('templates/bs-form-radio.tpl');


function tpl_form_control_group($labelFor,$labelText,$formControls) {
@@ -17,4 +19,40 @@ function tpl_form_control_group($labelFor,$labelText,$formControls) {
return $tpl;
}


function tpl_checkbox($checkbox_name,$checkbox_value,$checkbox_id,$checkbox_label,$checkbox_checked) {
global $bs_form_checkbox;

$tpl = str_replace('{checkbox_name}', $checkbox_name, $bs_form_checkbox);
$tpl = str_replace('{checkbox_value}', $checkbox_value, $tpl);
$tpl = str_replace('{checkbox_id}', $checkbox_id, $tpl);
$tpl = str_replace('{checkbox_label}', $checkbox_label, $tpl);

if($checkbox_checked == '') {
$tpl = str_replace('{checked}', '', $tpl);
} else {
$tpl = str_replace('{checked}', 'checked', $tpl);
}

return $tpl;
}


function tpl_radio($radio_name,$radio_value,$radio_id,$radio_label,$radio_checked) {
global $bs_form_radio;

$tpl = str_replace('{radio_name}', $radio_name, $bs_form_radio);
$tpl = str_replace('{radio_value}', $radio_value, $tpl);
$tpl = str_replace('{radio_id}', $radio_id, $tpl);
$tpl = str_replace('{radio_label}', $radio_label, $tpl);

if($radio_checked == '') {
$tpl = str_replace('{checked}', '', $tpl);
} else {
$tpl = str_replace('{checked}', 'checked', $tpl);
}

return $tpl;
}

?>
@@ -1,15 +1,23 @@
<?php

//prohibit unauthorized access
require("core/access.php");
require 'core/access.php';

echo '<div id="topNavBox">';

echo '<a href="#" id="toggleNav" title="Dashboard"><span class="caret_left">'.$icon['caret_left'].'</span> '.$icon['bars'].' <span class="caret_right">'.$icon['caret_right'].'</span></a>';

echo '<div class="float-right">';

echo '<a class="'.$active[0].' tooltip_bottom" href="acp.php?tn=dashboard" title="'.$lang['tn_dashboard_desc'].'"><span class="mm"></span>'.$lang['tn_dashboard'].'</a>';
echo '<a class="'.$active[1].' tooltip_bottom" href="acp.php?tn=pages" title="'.$lang['tn_contents_desc'].'"><span class="mm"></span>'.$lang['tn_contents'].'</a>';
echo '<a class="'.$active[2].' tooltip_bottom" href="acp.php?tn=moduls" title="'.$lang['tn_moduls_desc'].'"><span class="mm"></span>'.$lang['tn_moduls'].'</a>';
echo '<a class="'.$active[3].' tooltip_bottom" href="acp.php?tn=filebrowser" title="'.$lang['tn_filebrowser_desc'].'"><span class="mm"></span>'.$lang['tn_filebrowser'].'</a>';
echo '<a class="'.$active[4].' tooltip_bottom" href="acp.php?tn=user" title="'.$lang['tn_usermanagement'].'"><span class="mm"></span>'.$lang['tn_usermanagement'].'</a>';
echo '<a class="'.$active[5].' tooltip_bottom" href="acp.php?tn=system" title="'.$lang['tn_system'].'"><span class="mm"></span>'.$lang['tn_system'].'</a>';
echo '<a data-fancybox data-type="ajax" data-src="core/ajax.chat.php" href="javascript:;" class="topnav">'.$icon['comments'].' Chat</a>';
echo '</div>';

echo '</div>';

?>
@@ -4,7 +4,7 @@
require 'core/access.php';
require_once 'core/pclzip.lib.php';

echo '<div class="alert alert-info">';
echo '<div class="alert alert-info mb-4">';
echo '<p>'.$lang['section_is_beta'].'</p>';
echo '</div>';

@@ -101,9 +101,9 @@

echo tpl_form_control_group('','',$radio_field_type);

echo"<div class='formfooter'>";
echo"<input type='submit' class='btn btn-success' name='add_field' value='$lang[save]'>";
echo"</div>";
echo '<hr>';
echo '<input type="submit" class="btn btn-save" name="add_field" value="'.$lang['save'].'">';

echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
echo '</form>';
echo '</fieldset>';
@@ -128,7 +128,7 @@
} else {
echo '<div class="alert">' . $lang['delete_custom_field_desc'] . '</div>';

$select_del_field = '<select name="del_field" class="form-control">';
$select_del_field = '<select name="del_field" class="form-control custom-select">';
for($i=0;$i<$cnt_result;$i++) {
if(substr($result[$i],0,7) == "custom_") {
$select_del_field .= "<option value='$result[$i]'>" . $result[$i] . "</option>";
@@ -139,10 +139,9 @@
echo tpl_form_control_group('',$lang['custom_field_name'],$select_del_field);

//submit form to save data
echo"<div class='formfooter'>";
echo"<input type='submit' class='btn btn-danger' name='delete_field' value='$lang[delete]'>";
echo '<input type="submit" class="btn btn-fc text-danger" name="delete_field" value="'.$lang['delete'].'">';
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
echo"</div>";

}

echo '</form>';
@@ -1,5 +1,5 @@
<?php

error_reporting(E_ALL ^E_NOTICE);
//prohibit unauthorized access
require 'core/access.php';

@@ -102,7 +102,7 @@
if($cnt_changes > 0){
$success_message = "$lang[msg_user_deleted]<br />";
$show_form = "false";
record_log("$_SESSION[user_nick]","deleted user id: $edituser","0");
record_log($_SESSION['user_nick'],"deleted user id: $edituser","0");
}

unset($edituser);
@@ -124,8 +124,8 @@
// drm -string- to save in database
$drm_string = "$drm_acp_pages|$drm_acp_files|$drm_acp_user|$drm_acp_system|$drm_acp_editpages|$drm_acp_editownpages|$drm_moderator|$drm_can_publish";

$user_psw_new = "$_POST[user_psw_new]";
$user_psw_reconfirmation = "$_POST[user_psw_reconfirmation]";
$user_psw_new = $_POST['user_psw_new'];
$user_psw_reconfirmation = $_POST['user_psw_reconfirmation'];

// check psw entries
$set_psw = "false";
@@ -138,7 +138,7 @@
} else {
//generate password hash
$user_psw = password_hash($_POST['user_psw_new'], PASSWORD_DEFAULT);
$success_message .= "$lang[msg_psw_changed]<br>";
$success_message .= $lang['msg_psw_changed'].'<br>';
}

}
@@ -167,8 +167,8 @@
}

if($cnt_changes == TRUE) {
$success_message .= "$lang[msg_user_updated]<br />";
record_log("$_SESSION[user_nick]","update user id: $edituser via acp","5");
$success_message .= $lang['msg_user_updated'].'<br>';
record_log($_SESSION['user_nick'],"update user id: $edituser via acp","5");
}
}

@@ -184,14 +184,14 @@
$result = $dbh->query("SELECT user_nick FROM fc_user WHERE user_nick = '$user_nick' ")->fetchAll();

if(count($result) > 0) {
$error_message .= "$lang[msg_user_exists]<br />";
$error_message .= $lang['msg_user_exists'].'<br>';
$db_status = "locked";
}

$result = $dbh->query("SELECT user_mail FROM fc_user WHERE user_mail = '$user_mail' ")->fetchAll();

if(count($result) > 0) {
$error_message .= "$lang[msg_usermail_exists]<br />";
$error_message .= $lang['msg_usermail_exists'].'<br>';
$db_status = "locked";
}

@@ -210,8 +210,8 @@
$cnt_changes = $sth->execute();

if($cnt_changes == TRUE) {
$success_message .= "$lang[msg_new_user_saved]<br>";
record_log("$_SESSION[user_nick]","new user <i>$user_nick</i>","5");
$success_message .= $lang['msg_new_user_saved'].'<br>';
record_log($_SESSION['user_nick'],"new user <i>$user_nick</i>","5");
} else {
print_r($dbh->errorInfo());
}
@@ -224,7 +224,7 @@


/**
* update table ff_groups
* update table fc_groups
*/


@@ -236,34 +236,34 @@
$enter_user_id = $dbh->lastInsertId();
}

$user_groups = $_POST[user_groups];
$this_group = $_POST[this_group]; // not checked checkbox
$nbr_of_groups = $_POST[nbr_of_groups];
$user_groups = $_POST['user_groups'];
$this_group = $_POST['this_group']; // not checked checkbox (hidden field)
$nbr_of_groups = $_POST['nbr_of_groups'];


for($i=0;$i<$nbr_of_groups;$i++) {

if($user_groups[$i] == "") {
$user_groups[$i] = "$this_group[$i]";
$user_groups[$i] = $this_group[$i];
$sign_out = "true"; // delete user from this list
} else {
$sign_out = "false";
}

$result = $dbh->query("SELECT * FROM fc_groups WHERE group_id = $user_groups[$i] ");
$result= $result->fetch(PDO::FETCH_ASSOC);
$group_data = $dbh->query("SELECT * FROM fc_groups WHERE group_id = $user_groups[$i] ");
$group_data = $group_data->fetch(PDO::FETCH_ASSOC);

$array_existing_users = explode(" ", $result[group_user]); // userlist - to array
array_push($array_existing_users, "$enter_user_id"); // add the user
$array_existing_users = array_unique($array_existing_users); // delete doubles
$existing_users = implode(" ", $array_existing_users); // generate the new userlist - back to a string
$array_existing_users = explode(" ", $group_data['group_user']); // userlist - to array
array_push($array_existing_users, "$enter_user_id"); // add the user
$array_existing_users = array_unique($array_existing_users); // delete doubles
$existing_users = implode(" ", $array_existing_users); // generate the new userlist - back to a string

if($sign_out == "true") {
$existing_users = str_replace("$enter_user_id","",$existing_users);
}

$existing_users = preg_replace("/ +/", ' ', $existing_users); // delete multiple spaces
$result = $dbh->query("UPDATE fc_groups SET group_user = '$existing_users' WHERE group_id = $user_groups[$i]");
$group_data = $dbh->query("UPDATE fc_groups SET group_user = '$existing_users' WHERE group_id = $user_groups[$i]");

}
}
@@ -304,18 +304,18 @@

$user_avatar_path = '../'. FC_CONTENT_DIR . '/avatars/' . md5($user_nick) . '.png';

echo"<h3>$lang[h_modus_edituser] - $user_nick [$user_id]</h3>";
$submit_button = "<input class='btn btn-success' type='submit' name='save_the_user' value='$lang[update_user]'>";
echo '<h3>'.$lang['h_modus_edituser'].' - '.$user_nick.' <small>ID: '.$user_id.'</small></h3>';
$submit_button = "<input class='btn btn-save btn-block' type='submit' name='save_the_user' value='$lang[update_user]'>";

//no delete_button for myself
if($user_nick != "$_SESSION[user_nick]"){
$delete_button = "<input class='btn btn-danger' type='submit' name='delete_the_user' value='$lang[delete_user]' onclick=\"return confirm('$lang[confirm_delete_user]')\">";
if($user_nick != $_SESSION['user_nick']){
$delete_button = '<input class="btn btn-danger btn-sm btn-block" type="submit" name="delete_the_user" value="'.$lang['delete_user'].'" onclick="return confirm(\''.$lang['confirm_delete_user'].'\')">';
}

} else {
// modus new user
echo"<h3>$lang[h_modus_newuser]</h3>";
$submit_button = "<input class='btn btn-success' type='submit' name='save_the_user' value='$lang[save_new_user]'>";
$submit_button = "<input class='btn btn-save' type='submit' name='save_the_user' value='$lang[save_new_user]'>";
$delete_button = "";
}

@@ -1,8 +1,7 @@
<?php

//prohibit unauthorized access
require("core/access.php");

require 'core/access.php';


if($_GET['sub'] == "new"){
@@ -11,75 +10,88 @@
$sub = "edit";
}


echo '<div class="row"><div class="col-md-12">';

echo "<form action='acp.php?tn=user&sub=$sub&edituser=$edituser' class='form-horizontal' method='POST'>";

$custom_fields = get_custom_user_fields();
sort($custom_fields);
$cnt_custom_fields = count($custom_fields);

echo '<ul class="nav nav-tabs" id="bsTabs">';
echo '<li class="active"><a href="#info" data-toggle="tab">'.$lang['tab_user_info'].'</a></li>';
echo '<li><a href="#contact" data-toggle="tab">'.$lang['tab_contact'].'</a></li>';
echo '<li><a href="#psw" data-toggle="tab">'.$lang['tab_psw'].'</a></li>';
echo '<div class="row">';
echo '<div class="col-md-9">';

echo '<div class="card">';
echo '<div class="card-header">';

echo '<ul class="nav nav-tabs card-header-tabs" id="bsTabs" role="tablist">';
echo '<li class="nav-item"><a class="nav-link active" href="#info" data-toggle="tab">'.$lang['tab_user_info'].'</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="#contact" data-toggle="tab">'.$lang['tab_contact'].'</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="#psw" data-toggle="tab">'.$lang['tab_psw'].'</a></li>';
if($cnt_custom_fields > 0) {
echo '<li><a href="#custom" data-toggle="tab">'.$lang['legend_custom_fields'].'</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="#custom" data-toggle="tab">'.$lang['legend_custom_fields'].'</a></li>';
}
echo '</ul>';

echo '</div>';
echo '<div class="card-body">';


echo '<div class="tab-content">';
echo '<div class="tab-pane fade in active" id="info">';
echo '<div class="tab-pane fade show active" id="info">';

echo '<div class="row">';
echo '<div class="col-md-9">';
echo '<div class="col-md-6">';

echo tpl_form_control_group('',$lang['f_user_nick'],"<input class='form-control' type='text' name='user_nick' value='$user_nick'>");

if($user_registerdate != "") {
$show_registerdate = @date("d.m.Y H:i:s",$user_registerdate);
if($user_verified == ""){
$user_verified = "waiting";
}

echo tpl_form_control_group('',$lang['f_user_registerdate'],"<p class='form-control-static'>$show_registerdate</p>");

echo '<input type="hidden" name="user_registerdate" value="'.$user_registerdate.'">';
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
$select_user_status .= tpl_radio('user_verified','verified','verified',$lang['f_user_select_verified'],($user_verified == "verified" ? 'checked' :''));
$select_user_status .= tpl_radio('user_verified','waiting','waiting',$lang['f_user_select_waiting'],($user_verified == "waiting" ? 'checked' :''));
$select_user_status .= tpl_radio('user_verified','paused','paused',$lang['f_user_select_paused'],($user_verified == "paused" ? 'checked' :''));

echo '<fieldset>';
echo '<legend>'.$lang['f_user_status'].'</legend>';
echo $select_user_status;
echo '</fieldset>';

if($user_verified == ""){
$user_verified = "waiting";
}

$select_user_status = '<label class="radio">';
$select_user_status .= "<input type='radio' name='user_verified' value='verified'".($user_verified == "verified" ? 'checked' :'').">";
$select_user_status .= "<span class='label label-success'>$lang[f_user_select_verified]</span>";
$select_user_status .= '</label>';

$select_user_status .= '<label class="radio">';
$select_user_status .= "<input type='radio' name='user_verified' value='waiting'".($user_verified == "waiting" ? 'checked' :'').">";
$select_user_status .= "<span class='label label-default'>$lang[f_user_select_waiting]</span>";
$select_user_status .= '</label>';

$select_user_status .= '<label class="radio">';
$select_user_status .= "<input type='radio' name='user_verified' value='paused'".($user_verified == "paused" ? 'checked' :'').">";
$select_user_status .= "<span class='label label-danger'>$lang[f_user_select_paused]</span>";
$select_user_status .= '</label>';

echo tpl_form_control_group('',$lang['f_user_status'],"$select_user_status");
if($user_newsletter == "none" OR $user_newsletter == ""){
$user_newsletter = "none";
} else if($user_newsletter == "html"){
$checked2 = "checked";
} else if($user_newsletter == "text"){
$checked3 = "checked";
}

$select_nwsl .= tpl_radio('user_newsletter','none','nwsl_no',$lang['f_user_newsletter_none'],($user_newsletter == "none" ? 'checked' :''));
$select_nwsl .= tpl_radio('user_newsletter','html','nwsl_html',$lang['f_user_newsletter_html'],($user_newsletter == "html" ? 'checked' :''));
$select_nwsl .= tpl_radio('user_newsletter','text','nwsl_txt',$lang['f_user_newsletter_text'],($user_newsletter == "text" ? 'checked' :''));


echo '<fieldset>';
echo '<legend>'.$lang['f_user_newsletter'].'</legend>';
echo $select_nwsl;
echo '</fieldset>';

echo '</div>';
echo '<div class="col-md-6">';

$result = get_all_groups();
$all_groups = get_all_groups();

$nbr_of_groups = count($result);
$nbr_of_groups = count($all_groups);

echo"<input type='hidden' name='nbr_of_groups' value='$nbr_of_groups'>";
echo '<input type="hidden" name="nbr_of_groups" value="'.$nbr_of_groups.'">';

for($i=0;$i<$nbr_of_groups;$i++) {
$get_group_id = $result[$i]['group_id'];
$get_group_name = $result[$i]['group_name'];
$get_group_user = $result[$i]['group_user'];

$get_group_id = $all_groups[$i]['group_id'];
$get_group_name = $all_groups[$i]['group_name'];
$get_group_user = $all_groups[$i]['group_user'];

$array_group_user = explode(" ", $get_group_user);

@@ -91,61 +103,18 @@
if($sub == "new") {
$checked = "";
}

$cb_usergroup .= '<label class="checkbox">';
$cb_usergroup .= "<input type='checkbox' name='user_groups[$i]' value='$get_group_id' $checked>";
$cb_usergroup .= "$get_group_name";
$cb_usergroup .= '</label>';
$cb_usergroup .= "<input type='hidden' name='this_group[$i]' value='$get_group_id'>";
}

echo tpl_form_control_group('',$lang['f_user_groups'],"$cb_usergroup");


if($user_newsletter == "none" OR $user_newsletter == ""){
$user_newsletter = "none";
}

if($user_newsletter == "html"){
$checked2 = "checked";
}

if($user_newsletter == "text"){
$checked3 = "checked";

$cb_usergroup .= tpl_checkbox("user_groups[$i]","$get_group_id","check_group_$i",$get_group_name,$checked);
$cb_usergroup .= '<input type="hidden" name="this_group['.$i.']" value="'.$get_group_id.'">';
}

$select_nwsl .= '<label class="radio">';
$select_nwsl .= "<input type='radio' name='user_newsletter' value='none'".($user_newsletter == "none" ? 'checked' :'').">";
$select_nwsl .= "$lang[f_user_newsletter_none]";
$select_nwsl .= '</label>';

$select_nwsl .= '<label class="radio">';
$select_nwsl .= "<input type='radio' name='user_newsletter' value='html'".($user_newsletter == "html" ? 'checked' :'').">";
$select_nwsl .= "$lang[f_user_newsletter_html]";
$select_nwsl .= '</label>';

$select_nwsl .= '<label class="radio">';
$select_nwsl .= "<input type='radio' name='user_newsletter' value='text'".($user_newsletter == "text" ? 'checked' :'').">";
$select_nwsl .= "$lang[f_user_newsletter_text]";
$select_nwsl .= '</label>';

echo tpl_form_control_group('',$lang['f_user_newsletter'],"$select_nwsl");

echo '</div>';
echo '<div class="col-md-3">';

echo '<fieldset>';
echo '<legend>Avatar</legend>';
if(is_file("$user_avatar_path")) {
echo '<p class="text-center"><img src="'.$user_avatar_path.'" class="img-circle avatar"></p>';
echo '<label class="checkbox">';
echo '<input type="checkbox" name="deleteAvatar"> ' . $lang['delete'];
echo '</label>';
} else {
echo '<p class="text-center"><img src="images/avatar.png" class="img-circle avatar"></p>';
}
echo '<legend>'.$lang['f_user_groups'].'</legend>';
echo $cb_usergroup;
echo '</fieldset>';



echo '</div>';
echo '</div>';

@@ -198,26 +167,29 @@
if($arr_drm[6] == "drm_moderator") { $checked_moderator = "checked"; }
if($arr_drm[7] == "drm_can_publish") { $checked_can_publish = "checked"; }

echo '<fieldset>';
echo '<legend>'.$lang['f_user_drm'].'</legend>';

echo tpl_checkbox('drm_acp_class','administrator','check_admin',$lang['drm_administrator'],$checked_class);
echo tpl_checkbox('drm_acp_pages','drm_acp_pages','check_page',$lang['drm_pages'],$checked_pages);
echo tpl_checkbox('drm_acp_editpages','drm_acp_editpages','check_editpages',$lang['drm_editpages'],$checked_editpages);
echo tpl_checkbox('drm_acp_editownpages','drm_acp_editownpages','check_ownpages',$lang['drm_editownpages'],$checked_editownpages);
echo tpl_checkbox('drm_acp_files','drm_acp_files','check_files',$lang['drm_files'],$checked_files);
echo tpl_checkbox('drm_acp_user','drm_acp_user','check_user',$lang['drm_user'],$checked_user);
echo tpl_checkbox('drm_acp_system','drm_acp_system','check_system',$lang['drm_system'],$checked_system);
echo tpl_checkbox('drm_moderator','drm_moderator','check_mod',$lang['drm_moderator'],$checked_moderator);
echo tpl_checkbox('drm_can_publish','drm_can_publish','check_pub',$lang['drm_user_can_publish'],$checked_can_publish);

$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='administrator' name='drm_acp_class' $checked_class> <b>$lang[drm_administrator]</b></label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_acp_pages' name='drm_acp_pages' $checked_pages> $lang[drm_pages]</label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_acp_editpages' name='drm_acp_editpages' $checked_editpages> $lang[drm_editpages]</label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_acp_editownpages' name='drm_acp_editownpages' $checked_editownpages> $lang[drm_editownpages]</label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_acp_files' name='drm_acp_files' $checked_files> $lang[drm_files]</label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_acp_user' name='drm_acp_user' $checked_user> $lang[drm_user]</label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_acp_system' name='drm_acp_system' $checked_system> $lang[drm_system]</label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_moderator' name='drm_moderator' $checked_moderator> $lang[drm_moderator]</label>";
$cb_user_drm .= "<label class='checkbox'><input type='checkbox' value='drm_can_publish' name='drm_can_publish' $checked_can_publish> $lang[drm_user_can_publish]</label>";
echo '</fieldset>';

echo tpl_form_control_group('',$lang['f_user_drm'],"$cb_user_drm");

echo '</div>';


if($cnt_custom_fields > 0) {

/* tab custom fields */
echo'<div class="tab-pane fade" id="custom">';
/* tab custom fields */
echo '<div class="tab-pane fade" id="custom">';

for($i=0;$i<$cnt_custom_fields;$i++) {
if(substr($custom_fields[$i],0,10) == "custom_one") {
@@ -232,7 +204,7 @@
}
}

echo '</div>'; /* EOL tab custom fields */
echo '</div>';

}

@@ -241,14 +213,49 @@

echo '</div>';

//submit form to save data
echo '<div class="formfooter">';
echo "$delete_button $submit_button";


echo '</div>'; // card-body
echo '</div>'; // card

echo '</div>';
echo '<div class="col-md-3">';

echo '<div class="well well-sm">';

echo tpl_form_control_group('',$lang['f_user_nick'],"<input class='form-control' type='text' name='user_nick' value='$user_nick'>");

echo '<fieldset>';
echo '<legend>Avatar</legend>';
if(is_file("$user_avatar_path")) {
echo '<p class="text-center"><img src="'.$user_avatar_path.'" class="img-circle avatar"></p>';
echo '<div class="checkbox">';
echo '<label><input type="checkbox" name="deleteAvatar"> ' . $lang['delete'] . '</label>';
echo '</div>';
} else {
echo '<p class="text-center"><img src="images/avatar.png" class="img-circle avatar"></p>';
}
echo '</fieldset>';

if($user_registerdate != "") {
$show_registerdate = @date("d.m.Y H:i:s",$user_registerdate);
}

echo tpl_form_control_group('',$lang['f_user_registerdate'],"<pre class='form-control'>$show_registerdate</pre>");

echo '<input type="hidden" name="user_registerdate" value="'.$user_registerdate.'">';
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';

echo '<hr>';
echo $delete_button;
echo $submit_button;
echo '</div>';

echo '</div>';
echo '</div>';

echo '</form>';

echo '</div></div>';


?>
@@ -5,7 +5,7 @@

$array_group_user = array();

$submit_button = '<input type="submit" class="btn btn-success" name="saveGroup" value="'.$lang['save'].'">';
$submit_button = '<input type="submit" class="btn btn-save" name="saveGroup" value="'.$lang['save'].'">';
$delete_button = '';


@@ -135,7 +135,7 @@
}

if($error_message != ""){
echo '<div class="alert alert-error"><p>'.$error_message.'</p></div>';
echo '<div class="alert alert-danger"><p>'.$error_message.'</p></div>';
}


@@ -167,7 +167,7 @@
echo '<div class="col-md-5">';

echo '<div class="form-group">';
echo '<select name="editgroup" class="form-control">';
echo '<select name="editgroup" class="form-control custom-select">';

for($i=0;$i<count($result);$i++) {

@@ -185,7 +185,7 @@
echo '</div>';
echo '<div class="col-md-3">';
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
echo '<input type="submit" class="btn btn-default btn-block" name="select_group" value="'.$lang['edit'].'">';
echo '<input type="submit" class="btn btn-fc btn-block" name="select_group" value="'.$lang['edit'].'">';
echo '</div>';
echo '</div>';
echo '</form>';
@@ -212,8 +212,8 @@

$array_group_user = explode(" ", $group_user);

$submit_button = '<input type="submit" class="btn btn-success" name="updateGroup" value="'.$lang['update'].'">';
$delete_button = '<input type="submit" class="btn btn-danger" name="deleteGroup" value="'.$lang['delete'].'" onclick="return confirm(\''.$lang['confirm_delete_file'].'\')">';
$submit_button = '<input type="submit" class="btn btn-fc text-success" name="updateGroup" value="'.$lang['update'].'">';
$delete_button = '<input type="submit" class="btn btn-fc text-danger" name="deleteGroup" value="'.$lang['delete'].'" onclick="return confirm(\''.$lang['confirm_delete_file'].'\')">';
$hidden_field = '<input type="hidden" name="editgroup" value="'.$editgroup.'">';

} else {
@@ -261,7 +261,7 @@
}


echo '<table class="table table-hover table-condensed">';
echo '<table class="table table-hover table-sm">';

for($i=0;$i<count($result);$i++) {

@@ -282,8 +282,11 @@


echo '<tr>';
echo '<td><label><input type="checkbox" '.$checked.' name="incUser[]" value="'.$user_id.'"> '.$user_nick.' </label></td>
<td>'.$user_firstname.' '.$user_lastname.'</td>';
echo '<td>';
echo tpl_checkbox('incUser[]',$user_id,"check_$user_nick",$user_nick,$checked);
//echo '<label><input type="checkbox" '.$checked.' name="incUser[]" value="'.$user_id.'"> '.$user_nick.' </label></td>';
echo '</td>';
echo '<td>'.$user_firstname.' '.$user_lastname.'</td>';
echo '</tr>';
} //eol $i

@@ -294,7 +297,7 @@
echo '</div>';
echo '</div>';

echo '<div class="formfooter clear">';
echo '<div class="well well-sm mt-3">';
echo "$hidden_field $delete_button $submit_button";
echo '<input type="hidden" name="csrf_token" value="'.$_SESSION['token'].'">';
echo '</div>';
@@ -1,7 +1,7 @@
<?php

//prohibit unauthorized access
require("core/access.php");
require 'core/access.php';

$sort = (int) $_GET['sort'];

@@ -96,10 +96,10 @@


$status_btn_group = '<div class="btn-group">';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusVerified" class="btn btn-fc btn-sm '.$btn_status_verified.'"><span class="glyphicon glyphicon-ok"></span></a>';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusWaiting" class="btn btn-fc btn-sm '.$btn_status_waiting.'"><span class="glyphicon glyphicon-time"></span></a>';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusPaused" class="btn btn-fc btn-sm '.$btn_status_paused.'"><span class="glyphicon glyphicon-warning-sign"></span></a>';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusDeleted" class="btn btn-fc btn-sm '.$btn_status_deleted.'"><span class="glyphicon glyphicon-ban-circle"></span></a>';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusVerified" class="btn btn-fc '.$btn_status_verified.'">'.$icon['user_check'].'</span></a>';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusWaiting" class="btn btn-fc '.$btn_status_waiting.'">'.$icon['user_clock'].'</a>';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusPaused" class="btn btn-fc '.$btn_status_paused.'">'.$icon['user_lock'].'</a>';
$status_btn_group .= '<a href="acp.php?tn=user&sub=list&switch=statusDeleted" class="btn btn-fc '.$btn_status_deleted.'">'.$icon['user_slash'].'</a>';
$status_btn_group .= '</div>';


@@ -179,7 +179,7 @@
}


$pag_backlink = "<a class='btn btn-primary' href='acp.php?tn=user&sub=list&start=$prev_start&sort=$sort'>$lang[pagination_backward]</a>";
$pag_backlink = "<a class='btn btn-fc' href='acp.php?tn=user&sub=list&start=$prev_start&sort=$sort'>$lang[pagination_backward]</a>";


for($x=0;$x<$cnt_pages;$x++) {
@@ -188,24 +188,26 @@
$page_nbr = $x+1;

if($page_start == $start) {
$aclass = "btn btn-primary active";
$aclass = "btn btn-fc active";
} else {
$aclass = "btn btn-primary";
$aclass = "btn btn-fc";
}

$pag_string .= "<a class='$aclass' href='acp.php?tn=user&sub=list&start=$page_start'>$page_nbr</a> ";
} //eol for $x


$pag_forwardlink = "<a class='btn btn-primary' href='acp.php?tn=user&sub=list&start=$next_start&sort=$sort'>$lang[pagination_forward]</a>";
$pag_forwardlink = "<a class='btn btn-fc' href='acp.php?tn=user&sub=list&start=$next_start&sort=$sort'>$lang[pagination_forward]</a>";


echo '<div class="row">';
echo '<div class="col-md-5">';
echo "<form action='acp.php?tn=user' class='form-inline' method='POST'>";

echo '<div class="input-group">';
echo '<span class="input-group-addon"><span class="glyphicon glyphicon-filter"></span></span>';
echo '<div class="input-group-prepend">';
echo '<span class="input-group-text">'.$icon['search'].'</span>';
echo '</div>';
echo '<input type="text" name="findUser" class="form-control" placeholder="Filter">';
echo '</div>';
echo "</form>";
@@ -223,15 +225,15 @@

//print the list

echo"<table class='table table-condensed table-hover table-list' border='0' cellpadding='0' cellspacing='0'>";
echo"<table class='table table-hover table-striped table-sm'>";

echo"<thead><tr>
<th class='head' style='text-align:right;'><a class='darklink' href='acp.php?tn=user&sub=list&sort=0&way=$set_way'>ID</a></th>
<th class='head'></th>
<th class='head'><a class='darklink' href='acp.php?tn=user&sub=list&sort=1&way=$set_way'>$lang[h_username]</a></th>
<th class='head'><a class='darklink' href='acp.php?tn=user&sub=list&sort=2&way=$set_way'>$lang[h_registerdate]</a></th>
<th class='head'><a class='darklink' href='acp.php?tn=user&sub=list&sort=3&way=$set_way'>$lang[h_realname]</a></th>
<th class='head'><a class='darklink' href='acp.php?tn=user&sub=list&sort=4&way=$set_way'>$lang[h_email]</a></th>
<th class='head'><a class='' href='acp.php?tn=user&sub=list&sort=1&way=$set_way'>$lang[h_username]</a></th>
<th class='head'><a class='' href='acp.php?tn=user&sub=list&sort=2&way=$set_way'>$lang[h_registerdate]</a></th>
<th class='head'><a class='' href='acp.php?tn=user&sub=list&sort=3&way=$set_way'>$lang[h_realname]</a></th>
<th class='head'><a class='' href='acp.php?tn=user&sub=list&sort=4&way=$set_way'>$lang[h_email]</a></th>
<th class='head'>$lang[h_action]</th>
</tr></thead>";

@@ -249,9 +251,9 @@
$user_groups = $result[$i]['user_groups'];
$show_registerdate = @date("d.m.Y",$user_registerdate);

$user_avatar = '<img src="images/avatar.png" class="img-circle avatar" width="50" height="50">';
$user_avatar = '<img src="images/avatar.png" class="rounded-circle avatar" width="50" height="50">';
if(is_file("$user_avatar_path")) {
$user_avatar = '<img src="'.$user_avatar_path.'" class="img-circle avatar" width="50" height="50">';
$user_avatar = '<img src="'.$user_avatar_path.'" class="rounded-circle avatar" width="50" height="50">';
}

//show me in bold
@@ -262,9 +264,9 @@

//marking admins
if($user_class == "administrator"){
$admin_img = '<span style="color:#36a;"><span class="glyphicon glyphicon-user"></span></span>';
$admin_img = '<span style="color:#36a;">'.$icon['user'].'</span>';
} else {
$admin_img = '<span class="glyphicon glyphicon-user"></span>';
$admin_img = $icon['user'];
}

//deleted user
@@ -277,30 +279,34 @@
switch ($user_verified) {
case "waiting":
$statusLabel = "label label-info center";
$tr_class = 'info';
$bg_class = 'table-info';
$label = 'badge badge-pill badge-info';
break;
case "paused":
$statusLabel = "label label-warning center";
$tr_class = 'warning';
$label = 'badge badge-pill badge-warning';
$bg_class = 'table-warning';
break;
case "verified":
$statusLabel = "alert alert-success center";
$tr_class = 'success';
$bg_class = 'table-success';
$label = 'badge badge-pill badge-success';
break;
case "":
$tr_class = 'danger';
$bg_class = 'table-danger';
$statusLabel = "label label-default center";
$label = 'badge badge-pill badge-danger';
break;
}

echo '<tr class="'.$tr_class.'">';
echo '<td class="'.$td_class.'" style="text-align:right;">'.$user_id.'</td>';
echo '<td>'.$user_avatar.'</td>';
echo '<td class="'.$td_class.'">'.$admin_img.' '.$user_nick.'</td>';
echo '<td class="lead '.$td_class.'">'.$admin_img.' <span class="'.$label.'">'.$user_nick.'</span></td>';
echo '<td class="'.$td_class.'">'.$show_registerdate.'</td>';
echo '<td class="'.$td_class.'">'.$user_firstname.' '.$user_lastname.'</td>';
echo '<td class="'.$td_class.'">'.$user_mail.'</td>';
echo '<td class="'.$td_class.'"><a class="btn btn-default btn-sm" href="acp.php?tn=user&sub=edit&edituser='.$user_id.'">'.$lang['edit'].'</a></td>';
echo '<td class="'.$td_class.'"><a class="btn btn-sm btn-fc btn-block" href="acp.php?tn=user&sub=edit&edituser='.$user_id.'">'.$icon['edit'].' '.$lang['edit'].'</a></td>';
echo '</tr>';


Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -0,0 +1,130 @@

.btn-save {
background: lighten(@color_public,5);
border: 1px solid darken(@color_public,1);
color: #fff;
&:hover {
background: lighten(@color_public,25);
color: darken(@color_public,15);
border: 1px solid darken(@color_public,15);
}
}

.ghost-btn {
color: #333;
background: rgba(255,255,255,0.3);
border: 1px solid rgba(255,255,255,0.6);
border-radius: 3px;
padding: 2px 5px;
margin: auto 2px;
}
.ghost-btn:hover {
background: #fff;
border: 1px solid #eee;
}

.ghost-btn-public:hover {
color: #5cb85c;
border-color: #5cb85c;
}


.ghost-btn-private:hover {
color: #d9534f;
border-color: #d9534f;
}

.ghost-btn-draft:hover {
color: #999;
border-color: #999;
}

.ghost-btn-ghost:hover {
color: #999;
border-color: #999;
}


.btn-fc {
background: @btn_fc_background;
color: @btn_fc_color;

&:hover,
&:focus,
&.focus {
color: @btn_fc_color;
background: lighten(@btn_fc_background,10);
}

&:active,
&.active {
background: darken(@btn_fc_background,8);
.box-shadow(inset 0 0 2px rgba(0,0,0,.125));
&:hover {
color: @btn_fc_color;
}
}
}



.btn-public {
color: @color_public;
text-shadow: none;
&.active {
color: @color_public !important;
}
&:hover {
color: darken(@color_public,5);
}
}

.btn-private {
color: @color_private;
text-shadow: none;
&.active {
color: @color_private !important;
}
&:hover {
color: darken(@color_private,5);
}
}

.btn-draft {
color: @color_draft;
text-shadow: none;
&.active {
color: @color_draft;
}
&:hover {
color: darken(@color_draft,5);
}
}

.btn-ghost {
color: @color_ghost !important;
text-shadow: none;
&.active {
color: @color_ghost !important;
}
&:hover {
color: darken(@color_ghost,5);
}
}

.btn-redirect {
border-bottom: 1px solid @color_redirect;
background: desaturate(darken(@color_redirect,25),20);
color: @color_redirect;
text-shadow: none;
&.active {
background: desaturate(darken(@color_redirect,40),20);
}
&:hover {
color: darken(@color_redirect,5);
}
}

.btn {
.transition(all 0.2s linear);
}
@@ -0,0 +1,40 @@
.card {
background: @widget_background;
color: @font_color;

.card-header {
background: darken(@widget_background,4);
}

.card-header-tabs {
border-bottom: 1px solid darken(@widget_background,20);
li {
.nav-link {
color: @brand_color;
&:hover {
border-color: darken(@widget_background,10);
border-bottom-color: darken(@widget_background,10);
background: darken(@widget_background,10);
}
}
.active,
.active:hover {
background: darken(@widget_background,20);
border-color: darken(@widget_background,20);
color: @font_color;
}
}
}

}

@media (min-width: 992px) {
.custom-columns {
column-count: 4;
}
}
@media (min-width: 1200px) {
.custom-columns {
column-count: 5;
}
}

This file was deleted.

This file was deleted.

@@ -0,0 +1,80 @@
/* fieldset */


fieldset {
padding: 30px 10px 10px 10px;
margin: 15px 0 25px 0;
border: 1px solid darken(@widget_background,10);
background: @widget_background;
border-radius: 4px;
position: relative;
}

fieldset legend {
position:absolute;
left: 5px;
top: 10px;
width: auto;
padding: 7px 15px;
margin: -25px 10px 0 10px;
background: @widget_background;
color: @font_color;
font-size: 15px;
line-height: 14px;
border-radius: 3px;
border-left: 1px solid darken(@widget_background,10);
border-right: 1px solid darken(@widget_background,10);
}


textarea.form-control,
input.form-control,
input.form-control[readonly],
select.form-control,
.bootstrap-tagsinput {
background: @input_background;
color: @input_color;
border-color: darken(@input_background,10);
&:focus {
background: @input_background;
color: @input_color;
}
}

input.form-control[readonly] {
color: lighten(@input_color,10);
}

.input-group-text {
border: 1px solid #222;
background: #111;
color: @font_color;
}

.input-group-prepend,
.input-group-append {
.input-group-text {
background: lighten(@input_background,5);
color: darken(@font_color,10);
border-color: darken(@input_background,10);
}
}


#CSSeditor,
#HTMLeditor,
.form-control {
border: 1px solid darken(@input_background,10) !important;
}

.mce-panel {
border-color: darken(@input_background,10);
}

.cs(@color) {
background: @input_background url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='@{color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px !important;
}

.custom-select {
.cs(@input_fill);
}

Large diffs are not rendered by default.

@@ -0,0 +1,224 @@


#toggleNav {
display: inline-block;
height: 40px;
padding-top: 7px;
}

div#page-sidebar {
display: block;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
width: 55px;
padding-top: 25px;
color: @sidebar_color;
background: @sidebar_background;
height: 100%;
border-right: 1px solid @content_bg;
transition-property: top, bottom, width;
transition-duration: .2s, .2s, .35s;
transition-timing-function: linear, linear, ease;

&:hover {
width: 220px;
i {
width: auto;
}

}

ul.nav {
li {
display: block;
width: 100%;
}
}

a#sidebar-dashboard {
display: block;
width: 100%;
height: 70px;
background: transparent url(../images/fc-logo.png) top left no-repeat;
}




.sidebar-collapsed {
width: 100%;
overflow: hidden;
white-space: nowrap;
padding-top: 1px;
padding-bottom: 5px;


i {
width: 50px;
text-align: center;
}

.sidebar-footer {
i {
width: 50px;
text-align: center;
}
}


}

.sidebar-expanded {
display: block;
width: 220px;
overflow: hidden;
white-space: nowrap;
padding-top: 1px;
padding-bottom: 5px;
transition-property: top, bottom, width;
transition-duration: .2s, .2s, .35s;
transition-timing-function: linear, linear, ease;

i {
width: 35px;
text-align: center;
}

.sidebar-footer {
i {
width: 35px;
text-align: center;
}
}

}

.sidebar-footer {
padding-top: 10px;
a {
display: block;
color: @sidebar_color;
}
}
}

div#page-sidebar.sb-expanded {
width: 220px;
overflow: hidden;
}

#page-content {
margin-left: 55px;
transition-property: top, bottom, width;
transition-duration: .2s, .2s, .35s;
transition-timing-function: linear, linear, ease;
}

div#page-content.sb-expanded {
margin-left: 220px;
}



/* Navigation Submenu */

#dashboard-collapse .panel {
border-radius: 0;
border: none;
margin: 0;
}

.panel-sidemenu .panel-heading {
margin: 0;
padding: 0;
border-radius: 0;
border: none;
}

.panel-collapse > .submenu {
padding: 2px 2px 2px 15px !important;
color: #222;
}


a.sidebar-sub,
a.sidebar-sub-active {
display: block;
width: 100%;
color: @sidebar_color;
background: @sidebar_link_background;
padding: 3px 2px 3px 0;
border-bottom: 1px solid #111;
}

a.sidebar-sub:hover {
color: darken(@sidebar_color,5);
background: darken(@sidebar_link_background,5);
}


a.sidebar-sub-active {
color: @font_color;
background: @content_bg;
background: linear-gradient(to right, @widget_background 0%,@content_bg 100%);
i {
color: @brand_color;
}
}

li.sidebar-sub-end {
margin-bottom: 5px;
}



.sidebar-well {
background: rgba(255,255,255,0.2);
padding: 5px;
margin: 10px 0;
}


.sidebar-nav, .sidebar-nav-active, .sidebar-nav-disabled {
display: block;
padding: 3px 0;
border-bottom: 1px solid #111;
color: #aaa;
background: #191919;
}

.sidebar-nav:hover {
color: #bbb;
background: #111;
}

.sidebar-nav-disabled,
.sidebar-nav-disabled:hover {
color: #555;
background: #191919;
cursor: not-allowed;
}

.sidebar-nav-active,
.sidebar-nav-active:hover,
.dashboard-toggle.active,
.dashboard-toggle.active:hover {
background: @content_bg;
color: @brand_color;
}

.sidebar-nav-active span.tri-left,
.sidebar-nav-active:hover span.tri-left,
.dashboard-toggle.active span.tri-left,
.dashboard-toggle.active:hover span.tri-left {
display: block;
float: right;
width: 0;
height: 0;
margin-right: -6px;
border-top: 10px solid transparent;
border-right: 7px solid @page_bg;
border-bottom: 10px solid transparent;
}