1
0
mirror of https://github.com/Mowie/Mowie synced 2024-06-12 21:59:38 +00:00

* SimplePages Bugfix when creating new Pages

This commit is contained in:
kolaente 2016-09-21 13:55:36 +02:00
parent e8b6acdecc
commit 528d2c4e49
11 changed files with 986 additions and 822 deletions

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 264 KiB

View File

@ -11,7 +11,7 @@ if (hasPerm('edit_permissions'))
$permArr = []; $permArr = [];
foreach ($_POST as $perm => $val) foreach ($_POST as $perm => $val)
{ {
if ($perm != 'smbt') if ($perm != 'smbt' && $val == 'true')
{ {
$perm_full = $perm; $perm_full = $perm;
$perm = explode('_', $perm); $perm = explode('_', $perm);

View File

@ -6,47 +6,60 @@ if (isset($_GET['page']))
if ($_SESSION['userid'] == $confirmationUser) if ($_SESSION['userid'] == $confirmationUser)
{ {
//Get the new Content //Get the new Content
$hasContent = false;
$created = false;
$db->setCol('simplePages_pages_confirm'); $db->setCol('simplePages_pages_confirm');
$db->data['page_id'] = $_GET['page']; $db->data['page_id'] = $_GET['page'];
$db->get(); $db->get();
if (isset($db->data[0])) if (isset($db->data[0]))
{ {
$hasContent = true;
$data_new = $db->data[0]; $data_new = $db->data[0];
} else
{
$db->setCol('simplePages_pages');
$db->data['page_id'] = $_GET['page'];
$db->data['status'] = 2;
$db->get();
$data_new = [];
$hasContent = true;
$created = true;
}
if ($hasContent)
{
//If submitted, insert the new content //If submitted, insert the new content
if(isset($_POST['confirm'])) if (isset($_POST['confirm']))
{ {
$db->setCol('simplePages_pages'); $db->setCol('simplePages_pages');
$db->data = json_decode($_POST['contentToUpdate'], true); $db->data = json_decode($_POST['contentToUpdate'], true);
if($db->update(['id' => $_GET['page']])) if ($db->update(['id' => $_GET['page']]))
{ {
//Delete the old data //Delete the old data
$db->setCol('simplePages_pages_confirm'); $db->setCol('simplePages_pages_confirm');
$db->data['page_id'] = $_GET['page']; $db->data['page_id'] = $_GET['page'];
$db->delete(); $db->delete();
echo msg('success', $lang->get('sp_confirm_success').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('success', $lang->get('sp_confirm_success') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} } else
else
{ {
echo msg('fail', $lang->get('sp_confirm_fail').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('fail', $lang->get('sp_confirm_fail') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} }
}//If request to delete, delete it }//If request to delete, delete it
elseif(isset($_POST['delete'])) elseif (isset($_POST['delete']))
{ {
$db->setCol('simplePages_pages_confirm'); $db->setCol('simplePages_pages_confirm');
$db->data['page_id'] = $_GET['page']; $db->data['page_id'] = $_GET['page'];
if($db->delete()) if ($db->delete())
{ {
echo msg('success', $lang->get('sp_confirm_delete_success').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('success', $lang->get('sp_confirm_delete_success') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} } else
else
{ {
echo msg('fail', $lang->get('sp_confirm_delete_fail').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('fail', $lang->get('sp_confirm_delete_fail') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} }
} } else
else
{ {
//Get the old Content //Get the old Content
$db->setCol('simplePages_pages'); $db->setCol('simplePages_pages');
@ -57,25 +70,46 @@ if (isset($_GET['page']))
$changed = false; $changed = false;
$data_old = $db->data[0]; $data_old = $db->data[0];
//If The page to confirm was just created
if ($created)
{
$changed = true;
$data_new = $data_old;
$data_display = $data_old;
unset($data_display['id']);
unset($data_display['user']);
unset($data_display['lastedit']);
unset($data_display['created']);
} else
{
//Find differences between them //Find differences between them
$data_display = []; $data_display = [];
foreach ($data_new as $key => $new_data) foreach ($data_new as $key => $new_data)
{ {
if (array_key_exists($key, $data_old)) if (array_key_exists($key, $data_old))
{ {
if ($new_data != $data_old[$key] && $key != 'id' && $key != 'user' && $key != 'lastedit') if ($new_data != $data_old[$key] && $key != 'id' && $key != 'user' && $key != 'lastedit' && $key != 'created')
{ {
$changed = true; $changed = true;
$data_display[$key] = $new_data; $data_display[$key] = $new_data;
} }
} }
} }
}
//Only display differences if any found //Only display differences if any found
if($changed) if ($changed)
{ {
echo '<div class="main">'; echo '<div class="main">';
echo '<p>'.sprintf($lang->get('sp_confirm_changed'), date('d.m.Y \u\m H:i', $data_new['lastedit']), getUserByID($data_new['user'])).':</p>'; if ($created)
{
echo '<p>' . sprintf($lang->get('sp_confirm_created'), date('d.m.Y \u\m H:i', $data_new['lastedit']), getUserByID($data_new['user'])) . ':</p>';
} else
{
echo '<p>' . sprintf($lang->get('sp_confirm_changed'), date('d.m.Y \u\m H:i', $data_new['lastedit']), getUserByID($data_new['user'])) . ':</p>';
}
$msg = [ $msg = [
'title' => $lang->get('sp_edit_title'), 'title' => $lang->get('sp_edit_title'),
'alias' => $lang->get('sp_edit_alias'), 'alias' => $lang->get('sp_edit_alias'),
@ -91,30 +125,27 @@ if (isset($_GET['page']))
$data_display['user'] = $data_new['user']; $data_display['user'] = $data_new['user'];
$data_display['lastedit'] = $data_new['lastedit']; $data_display['lastedit'] = $data_new['lastedit'];
$data_display['status'] = 1;
//echo '<pre>'.print_r($data_old, true).'</pre>'; //echo '<pre>'.print_r($data_old, true).'</pre>';
echo '<form action="<?php echo $_SERVER['REQUEST_URI']?>" method="post"><input type="hidden" name="contentToUpdate" value=\'' . json_encode($data_display) . '\'/><input type="submit" name="confirm" value="'.$lang->get('sp_confirm_confirm').'"/><input type="submit" name="delete" value="'.$lang->get('sp_confirm_delete').'" class="btn_del"/></form>'; echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="post"><input type="hidden" name="contentToUpdate" value=\'' . json_encode($data_display) . '\'/><input type="submit" name="confirm" value="' . $lang->get('sp_confirm_confirm') . '"/><input type="submit" name="delete" value="' . $lang->get('sp_confirm_delete') . '" class="btn_del"/></form>';
echo '</div>'; echo '</div>';
} } else
else
{ {
echo msg('info', $lang->get('sp_confirm_no_changes').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('info', $lang->get('sp_confirm_no_changes') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} }
} } else
else
{ {
echo msg('info', $lang->get('sp_confirm_no_changes').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('info', $lang->get('sp_confirm_no_changes') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} }
} }
} } else
else
{ {
echo msg('info', $lang->get('sp_confirm_no_changes').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('info', $lang->get('sp_confirm_no_changes') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} }
} } else
else
{ {
echo msg('info', $lang->get('missing_permission').' <a href="management.php">'.$lang->get('back').'</a>'); echo msg('info', $lang->get('missing_permission') . ' <a href="management.php">' . $lang->get('back') . '</a>');
} }
} }
require_once '../../../inc/footer.php'; require_once '../../../inc/footer.php';

View File

@ -98,6 +98,14 @@ if (hasPerm('manage_pages'))
$db->setCol('simplePages_pages'); $db->setCol('simplePages_pages');
} }
else else
{
//If New Page created
if(isset($_GET['new']))
{
$status = 2;
$db->setCol('simplePages_pages');
}
else
{ {
//Delete old pages, we only want the newest version in the database //Delete old pages, we only want the newest version in the database
$db->clear(); $db->clear();
@ -109,6 +117,7 @@ if (hasPerm('manage_pages'))
$db->data['page_id'] = $_GET['id']; $db->data['page_id'] = $_GET['id'];
} }
} }
}
else else
{ {
$db->setCol('simplePages_pages'); $db->setCol('simplePages_pages');
@ -118,12 +127,16 @@ if (hasPerm('manage_pages'))
$db->data['alias'] = str_replace(' ', '-', $_POST['alias']); $db->data['alias'] = str_replace(' ', '-', $_POST['alias']);
$db->data['content'] = $_POST['content']; $db->data['content'] = $_POST['content'];
$db->data['user'] = $_SESSION['userid']; $db->data['user'] = $_SESSION['userid'];
if(!isset($status))
{
$status = 0; $status = 0;
if (isset($_POST['status'])) $status = $_POST['status']; if (isset($_POST['status'])) $status = $_POST['status'];
}
$db->data['status'] = $status; $db->data['status'] = $status;
$db->data['meta_description'] = $_POST['meta_description']; $db->data['meta_description'] = $_POST['meta_description'];
$db->data['meta_keywords'] = $_POST['meta_keywords']; $db->data['meta_keywords'] = $_POST['meta_keywords'];
$db->data['lastedit'] = time(); $db->data['lastedit'] = time();
if(isset($_GET['new'])) $db->data['created'] = time();
//$db->update(['id' => $_GET['id']]); //$db->update(['id' => $_GET['id']]);
$id = 0; $id = 0;
@ -184,13 +197,16 @@ if (hasPerm('manage_pages'))
if($confirmationRequierd && ($_SESSION['userid'] != $confirmationUser)) if($confirmationRequierd && ($_SESSION['userid'] != $confirmationUser))
{ {
$subject = sprintf($lang->get('sp_edit_confirm_subject'), $_POST['title']); $subject = sprintf($lang->get('sp_edit_confirm_subject'), $_POST['title']);
if(isset($_GET['new']))
{
$message = sprintf($lang->get('sp_edit_confirm_message'), $_SESSION['user'], $_POST['title'], $MCONF['web_uri'] . 'apps/SimplePages/backend/confirm.php?page=' . $id); $message = sprintf($lang->get('sp_edit_confirm_message'), $_SESSION['user'], $_POST['title'], $MCONF['web_uri'] . 'apps/SimplePages/backend/confirm.php?page=' . $id);
$header = 'From: noreply@' . $_SERVER['SERVER_NAME'] . "\r\n" . }
'Reply-To: noreply@' . $_SERVER['SERVER_NAME'] . "\r\n" . else
'X-Mailer: PHP/' . phpversion() . {
'MIME-Version: 1.0' . "\r\n" . $message = sprintf($lang->get('sp_create_confirm_message'), $_SESSION['user'], $_POST['title'], $MCONF['web_uri'] . 'apps/SimplePages/backend/confirm.php?page=' . $id);
'content-type: text/html; charset=UTF-8' . "\r\n"; }
mail($confirmationUserMail, $subject, $message, $header);
mmail($confirmationUserMail, $subject, $message, 'noreply@' . $_SERVER['SERVER_NAME'], true);
} }
} }
else else
@ -282,7 +298,7 @@ if (hasPerm('manage_pages'))
value="<?php echo $data[0]['alias']; ?>" autocomplete="off"/> value="<?php echo $data[0]['alias']; ?>" autocomplete="off"/>
</p> </p>
<p><span><?php echo $lang->get('sp_edit_public');?>:</span><input type="checkbox" name="status" id="status" value="1"<?php <p><span><?php echo $lang->get('sp_edit_public');?>:</span><input type="checkbox" name="status" id="status" value="1"<?php
if ($data[0]['status'] == 1) echo ' checked'; if ($data[0]['status'] == 1 || isset($_GET['new'])) echo ' checked';
?>/><label for="status"><i></i></label></p> ?>/><label for="status"><i></i></label></p>
<p><span><?php echo $lang->get('sp_edit_keywords');?>:</span><input type="text" name="meta_keywords" <p><span><?php echo $lang->get('sp_edit_keywords');?>:</span><input type="text" name="meta_keywords"
value="<?php echo $data[0]['meta_keywords']; ?>"/></p> value="<?php echo $data[0]['meta_keywords']; ?>"/></p>

View File

@ -16,6 +16,7 @@ if (hasPerm('manage_pages'))
<tr> <tr>
<th><?php echo $lang->get('sp_page');?></th> <th><?php echo $lang->get('sp_page');?></th>
<th><?php echo $lang->get('sp_last_edit');?></th> <th><?php echo $lang->get('sp_last_edit');?></th>
<th><?php echo $lang->get('sp_edit_status');?></th>
<th><?php echo $lang->get('sp_action');?></th> <th><?php echo $lang->get('sp_action');?></th>
</tr> </tr>
</thead> </thead>
@ -31,6 +32,7 @@ if (hasPerm('manage_pages'))
if (hasPerm('admin_manage'))//If the User has the persmission to edit every page if (hasPerm('admin_manage'))//If the User has the persmission to edit every page
{ {
$status = [$lang->get('sp_status_inactive'), $lang->get('sp_status_active'), $lang->get('sp_status_pending_confirmation')];
foreach ($pages as $id => $pageitem) foreach ($pages as $id => $pageitem)
{ {
echo '<tr>'; echo '<tr>';
@ -43,6 +45,7 @@ if (hasPerm('manage_pages'))
{ {
echo '<td>'.$lang->get('sp_never').'</td>'; echo '<td>'.$lang->get('sp_never').'</td>';
} }
echo '<td>'.$status[$pageitem['status']].'</td>';
echo '<td><a href="edit.php?id=' . $pageitem['id'] . '"><i class="fa fa-pencil"></i> '.$lang->get('sp_edit').'</a> | <a href="edit.php?id=' . $pageitem['id'] . '&del"><i class="fa fa-trash-o"></i> '.$lang->get('sp_delete').'</a> | <a href="' . $MCONF['web_uri'] . $pageitem['alias'] . '" target="_blank"><i class="fa fa-external-link"></i> '.$lang->get('sp_preview').'</a></td>'; echo '<td><a href="edit.php?id=' . $pageitem['id'] . '"><i class="fa fa-pencil"></i> '.$lang->get('sp_edit').'</a> | <a href="edit.php?id=' . $pageitem['id'] . '&del"><i class="fa fa-trash-o"></i> '.$lang->get('sp_delete').'</a> | <a href="' . $MCONF['web_uri'] . $pageitem['alias'] . '" target="_blank"><i class="fa fa-external-link"></i> '.$lang->get('sp_preview').'</a></td>';
echo '</tr>'; echo '</tr>';
} }

View File

@ -33,6 +33,11 @@ $lang['sp_preview'] = 'Vorschau';
$lang['sp_permissions'] = 'Berechtigungen'; $lang['sp_permissions'] = 'Berechtigungen';
$lang['sp_manage_permission'] = 'Berechtigungen vergeben'; $lang['sp_manage_permission'] = 'Berechtigungen vergeben';
//Status
$lang['sp_status_inactive'] = 'Inaktiv';
$lang['sp_status_active'] = 'Aktiv';
$lang['sp_status_pending_confirmation'] = 'Warte auf Freischaltung';
//Permissions //Permissions
$lang['sp_user_already_access'] = '%1$s hat schon Zugriff auf diese Seite.'; $lang['sp_user_already_access'] = '%1$s hat schon Zugriff auf diese Seite.';
$lang['sp_grant_permissions_success'] = 'Die neuen Berechtigungen wurden erfolgreich vergeben'; $lang['sp_grant_permissions_success'] = 'Die neuen Berechtigungen wurden erfolgreich vergeben';
@ -45,7 +50,8 @@ $lang['sp_confirm_success'] = 'Die Änderungen wurden erfolgreich freigeschaltet
$lang['sp_confirm_fail'] = 'Fehler beim Freischalten der Änderungen.'; $lang['sp_confirm_fail'] = 'Fehler beim Freischalten der Änderungen.';
$lang['sp_confirm_delete_success'] = 'Die Änderungen wurden erfolgreich gelöscht.'; $lang['sp_confirm_delete_success'] = 'Die Änderungen wurden erfolgreich gelöscht.';
$lang['sp_confirm_delete_fail'] = 'Fehler beim Löschen der Änderungen.'; $lang['sp_confirm_delete_fail'] = 'Fehler beim Löschen der Änderungen.';
$lang['sp_confirm_changed'] = 'Wurde geändert am %1$s von %2$s (Veränderte Felder werden angezeigt)'; $lang['sp_confirm_changed'] = 'Wurde am %1$s von %2$s geändert (Veränderte Felder werden angezeigt)';
$lang['sp_confirm_created'] = 'Wurde am %1$s von %2$s erstellt';
$lang['sp_confirm_confirm'] = 'Freischalten'; $lang['sp_confirm_confirm'] = 'Freischalten';
$lang['sp_confirm_delete'] = 'Verwerfen'; $lang['sp_confirm_delete'] = 'Verwerfen';
$lang['sp_confirm_no_changes'] = 'Es wurden keine Änderungen zum Freischalten gefunden.'; $lang['sp_confirm_no_changes'] = 'Es wurden keine Änderungen zum Freischalten gefunden.';
@ -65,6 +71,7 @@ $lang['sp_edit_edited_need_confirm'] = 'Diese Änderungen werden öffentlich, so
$lang['sp_edit_edit_error'] = 'Fehler beim Ändern der Seite.'; $lang['sp_edit_edit_error'] = 'Fehler beim Ändern der Seite.';
$lang['sp_edit_confirm_subject'] = 'Freischaltung der Seite "%1$s"'; $lang['sp_edit_confirm_subject'] = 'Freischaltung der Seite "%1$s"';
$lang['sp_edit_confirm_message'] = '%1$s hat die Seite "%2$s" ge&auml;ndert. Diese steht jetzt zum Freischalten f&uuml;r dich bereit. <a href="%3$s">Freischalten</a>'; $lang['sp_edit_confirm_message'] = '%1$s hat die Seite "%2$s" ge&auml;ndert. Diese steht jetzt zum Freischalten f&uuml;r dich bereit. <a href="%3$s">Freischalten</a>';
$lang['sp_create_confirm_message'] = '%1$s hat die Seite "%2$s" erstellt. Diese steht jetzt zum Freischalten f&uuml;r dich bereit. <a href="%3$s">Freischalten</a>';
$lang['sp_edit_delete_success'] = 'Die Seite wurde erfolgreich gelöscht.'; $lang['sp_edit_delete_success'] = 'Die Seite wurde erfolgreich gelöscht.';
$lang['sp_edit_delete'] = '"%1$s" löschen'; $lang['sp_edit_delete'] = '"%1$s" löschen';
$lang['sp_edit_delete_confirm'] = 'Soll die Seite "%1$s" wirklich gelöscht werden?<br/><b>Dieser Vorgang kann nicht rückgängig gemacht werden!</b>'; $lang['sp_edit_delete_confirm'] = 'Soll die Seite "%1$s" wirklich gelöscht werden?<br/><b>Dieser Vorgang kann nicht rückgängig gemacht werden!</b>';

View File

@ -33,6 +33,11 @@ $lang['sp_preview'] = 'Preview';
$lang['sp_permissions'] = 'Permissions'; $lang['sp_permissions'] = 'Permissions';
$lang['sp_manage_permission'] = 'Grant Permissions'; $lang['sp_manage_permission'] = 'Grant Permissions';
//Status
$lang['sp_status_inactive'] = 'Inactive';
$lang['sp_status_active'] = 'Active';
$lang['sp_status_pending_confirmation'] = 'Waiting for Confirmation';
//Permissions //Permissions
$lang['sp_user_already_access'] = '%1$s has already access to that page.'; $lang['sp_user_already_access'] = '%1$s has already access to that page.';
$lang['sp_grant_permissions_success'] = 'The new permissions were granted successfully'; $lang['sp_grant_permissions_success'] = 'The new permissions were granted successfully';
@ -46,6 +51,7 @@ $lang['sp_confirm_fail'] = 'An error occured while confirming changes.';
$lang['sp_confirm_delete_success'] = 'Changes were successfully deleted.'; $lang['sp_confirm_delete_success'] = 'Changes were successfully deleted.';
$lang['sp_confirm_delete_fail'] = 'An error occured while deleting changes.'; $lang['sp_confirm_delete_fail'] = 'An error occured while deleting changes.';
$lang['sp_confirm_changed'] = 'Was changed at %1$s by %2$s (Showing changed Contents)'; $lang['sp_confirm_changed'] = 'Was changed at %1$s by %2$s (Showing changed Contents)';
$lang['sp_confirm_created'] = 'Was created at %1$s by %2$s';
$lang['sp_confirm_confirm'] = 'Confirm'; $lang['sp_confirm_confirm'] = 'Confirm';
$lang['sp_confirm_delete'] = 'Dismiss'; $lang['sp_confirm_delete'] = 'Dismiss';
$lang['sp_confirm_no_changes'] = 'No changes for confirmation were found.'; $lang['sp_confirm_no_changes'] = 'No changes for confirmation were found.';
@ -65,6 +71,7 @@ $lang['sp_edit_edited_need_confirm'] = 'These changes get public, when %1$s conf
$lang['sp_edit_edit_error'] = 'An error occured while saving the changes.'; $lang['sp_edit_edit_error'] = 'An error occured while saving the changes.';
$lang['sp_edit_confirm_subject'] = 'Confirmation of "%1$s"'; $lang['sp_edit_confirm_subject'] = 'Confirmation of "%1$s"';
$lang['sp_edit_confirm_message'] = '%1$s edited the page "%2$s". It is now ready for you to confirm. <a href="%3$s">Confirm</a>'; $lang['sp_edit_confirm_message'] = '%1$s edited the page "%2$s". It is now ready for you to confirm. <a href="%3$s">Confirm</a>';
$lang['sp_create_confirm_message'] = '%1$s created the page "%2$s". It is now ready for you to confirm. <a href="%3$s">Confirm</a>';
$lang['sp_edit_delete_success'] = 'The page was deleted successfully.'; $lang['sp_edit_delete_success'] = 'The page was deleted successfully.';
$lang['sp_edit_delete'] = 'Delete "%1$s"'; $lang['sp_edit_delete'] = 'Delete "%1$s"';
$lang['sp_edit_delete_confirm'] = 'Are you sure to delete the page "%1$s"?<br/><b>You cannot undo this!</b>'; $lang['sp_edit_delete_confirm'] = 'Are you sure to delete the page "%1$s"?<br/><b>You cannot undo this!</b>';

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 264 KiB

View File

@ -55,7 +55,7 @@ if (!isset($_GET['direct']))
pageBodyParser(); pageBodyParser();
function findPage(ctx, next) { function findPage(ctx, next) {
//console.log(ctx); console.log(ctx);
if(!ctx.init) { if(!ctx.init) {
if (ctx.body) { //If POST-Request, send Post via ajax if (ctx.body) { //If POST-Request, send Post via ajax

View File

@ -234,7 +234,7 @@ function printHeader($title)
<label for="options_menu"> <label for="options_menu">
<p><span class="usr_info">'; <p><span class="usr_info">';
//<img src="http://www.gravatar.com/avatar/' . md5(strtolower(trim($_SESSION['mail']))) . '?s=40&d=mm" alt=""/> //<img src="http://www.gravatar.com/avatar/' . md5(strtolower(trim($_SESSION['mail']))) . '?s=40&d=mm" alt=""/>
echo $_SESSION['user'] . '</span> <span class="fa fa-chevron-down"></span></p> echo '<img src="http://www.gravatar.com/avatar/' . md5(strtolower(trim($_SESSION['mail']))) . '?s=40&d=mm" alt=""/> '.$_SESSION['user'] . '</span> <span class="fa fa-chevron-down"></span></p>
<ul> <ul>
<li><a href="' . $GLOBALS['MCONF']['web_uri'] . 'admin/user_settings.php"><span class="fa fa-gear"></span> ' . $GLOBALS['lang']->get('settings') . '</a></li> <li><a href="' . $GLOBALS['MCONF']['web_uri'] . 'admin/user_settings.php"><span class="fa fa-gear"></span> ' . $GLOBALS['lang']->get('settings') . '</a></li>
<li><a href="' . $GLOBALS['MCONF']['web_uri'] . 'admin/logout.php" rel="external"><span class="fa fa-sign-out"></span> ' . $GLOBALS['lang']->get('logout') . '</a></li> <li><a href="' . $GLOBALS['MCONF']['web_uri'] . 'admin/logout.php" rel="external"><span class="fa fa-sign-out"></span> ' . $GLOBALS['lang']->get('logout') . '</a></li>