mirror of https://github.com/Mowie/Mowie
* SimplePages Bugfix when creating new Pages
This commit is contained in:
parent
e8b6acdecc
commit
528d2c4e49
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 |
|
@ -11,7 +11,7 @@ if (hasPerm('edit_permissions'))
|
|||
$permArr = [];
|
||||
foreach ($_POST as $perm => $val)
|
||||
{
|
||||
if ($perm != 'smbt')
|
||||
if ($perm != 'smbt' && $val == 'true')
|
||||
{
|
||||
$perm_full = $perm;
|
||||
$perm = explode('_', $perm);
|
||||
|
|
|
@ -6,47 +6,60 @@ if (isset($_GET['page']))
|
|||
if ($_SESSION['userid'] == $confirmationUser)
|
||||
{
|
||||
//Get the new Content
|
||||
$hasContent = false;
|
||||
$created = false;
|
||||
$db->setCol('simplePages_pages_confirm');
|
||||
$db->data['page_id'] = $_GET['page'];
|
||||
$db->get();
|
||||
|
||||
if (isset($db->data[0]))
|
||||
{
|
||||
$hasContent = true;
|
||||
$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(isset($_POST['confirm']))
|
||||
if (isset($_POST['confirm']))
|
||||
{
|
||||
$db->setCol('simplePages_pages');
|
||||
$db->data = json_decode($_POST['contentToUpdate'], true);
|
||||
if($db->update(['id' => $_GET['page']]))
|
||||
if ($db->update(['id' => $_GET['page']]))
|
||||
{
|
||||
//Delete the old data
|
||||
$db->setCol('simplePages_pages_confirm');
|
||||
$db->data['page_id'] = $_GET['page'];
|
||||
$db->delete();
|
||||
echo msg('success', $lang->get('sp_confirm_success').' <a href="management.php">'.$lang->get('back').'</a>');
|
||||
}
|
||||
else
|
||||
echo msg('success', $lang->get('sp_confirm_success') . ' <a href="management.php">' . $lang->get('back') . '</a>');
|
||||
} 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
|
||||
elseif(isset($_POST['delete']))
|
||||
elseif (isset($_POST['delete']))
|
||||
{
|
||||
$db->setCol('simplePages_pages_confirm');
|
||||
$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>');
|
||||
}
|
||||
else
|
||||
echo msg('success', $lang->get('sp_confirm_delete_success') . ' <a href="management.php">' . $lang->get('back') . '</a>');
|
||||
} 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
|
||||
$db->setCol('simplePages_pages');
|
||||
|
@ -57,25 +70,46 @@ if (isset($_GET['page']))
|
|||
$changed = false;
|
||||
$data_old = $db->data[0];
|
||||
|
||||
//Find differences between them
|
||||
$data_display = [];
|
||||
foreach ($data_new as $key => $new_data)
|
||||
//If The page to confirm was just created
|
||||
if ($created)
|
||||
{
|
||||
if (array_key_exists($key, $data_old))
|
||||
$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
|
||||
$data_display = [];
|
||||
foreach ($data_new as $key => $new_data)
|
||||
{
|
||||
if ($new_data != $data_old[$key] && $key != 'id' && $key != 'user' && $key != 'lastedit')
|
||||
if (array_key_exists($key, $data_old))
|
||||
{
|
||||
$changed = true;
|
||||
$data_display[$key] = $new_data;
|
||||
if ($new_data != $data_old[$key] && $key != 'id' && $key != 'user' && $key != 'lastedit' && $key != 'created')
|
||||
{
|
||||
$changed = true;
|
||||
$data_display[$key] = $new_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Only display differences if any found
|
||||
if($changed)
|
||||
if ($changed)
|
||||
{
|
||||
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 = [
|
||||
'title' => $lang->get('sp_edit_title'),
|
||||
'alias' => $lang->get('sp_edit_alias'),
|
||||
|
@ -91,30 +125,27 @@ if (isset($_GET['page']))
|
|||
|
||||
$data_display['user'] = $data_new['user'];
|
||||
$data_display['lastedit'] = $data_new['lastedit'];
|
||||
$data_display['status'] = 1;
|
||||
|
||||
//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>';
|
||||
}
|
||||
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';
|
|
@ -99,14 +99,23 @@ if (hasPerm('manage_pages'))
|
|||
}
|
||||
else
|
||||
{
|
||||
//Delete old pages, we only want the newest version in the database
|
||||
$db->clear();
|
||||
$db->setCol('simplePages_pages_confirm');
|
||||
$db->data['page_id'] = $_GET['id'];
|
||||
$db->delete();
|
||||
//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
|
||||
$db->clear();
|
||||
$db->setCol('simplePages_pages_confirm');
|
||||
$db->data['page_id'] = $_GET['id'];
|
||||
$db->delete();
|
||||
|
||||
$db->setCol('simplePages_pages_confirm');
|
||||
$db->data['page_id'] = $_GET['id'];
|
||||
$db->setCol('simplePages_pages_confirm');
|
||||
$db->data['page_id'] = $_GET['id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -118,12 +127,16 @@ if (hasPerm('manage_pages'))
|
|||
$db->data['alias'] = str_replace(' ', '-', $_POST['alias']);
|
||||
$db->data['content'] = $_POST['content'];
|
||||
$db->data['user'] = $_SESSION['userid'];
|
||||
$status = 0;
|
||||
if (isset($_POST['status'])) $status = $_POST['status'];
|
||||
if(!isset($status))
|
||||
{
|
||||
$status = 0;
|
||||
if (isset($_POST['status'])) $status = $_POST['status'];
|
||||
}
|
||||
$db->data['status'] = $status;
|
||||
$db->data['meta_description'] = $_POST['meta_description'];
|
||||
$db->data['meta_keywords'] = $_POST['meta_keywords'];
|
||||
$db->data['lastedit'] = time();
|
||||
if(isset($_GET['new'])) $db->data['created'] = time();
|
||||
|
||||
//$db->update(['id' => $_GET['id']]);
|
||||
$id = 0;
|
||||
|
@ -184,13 +197,16 @@ if (hasPerm('manage_pages'))
|
|||
if($confirmationRequierd && ($_SESSION['userid'] != $confirmationUser))
|
||||
{
|
||||
$subject = sprintf($lang->get('sp_edit_confirm_subject'), $_POST['title']);
|
||||
$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" .
|
||||
'X-Mailer: PHP/' . phpversion() .
|
||||
'MIME-Version: 1.0' . "\r\n" .
|
||||
'content-type: text/html; charset=UTF-8' . "\r\n";
|
||||
mail($confirmationUserMail, $subject, $message, $header);
|
||||
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);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = sprintf($lang->get('sp_create_confirm_message'), $_SESSION['user'], $_POST['title'], $MCONF['web_uri'] . 'apps/SimplePages/backend/confirm.php?page=' . $id);
|
||||
}
|
||||
|
||||
mmail($confirmationUserMail, $subject, $message, 'noreply@' . $_SERVER['SERVER_NAME'], true);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -282,7 +298,7 @@ if (hasPerm('manage_pages'))
|
|||
value="<?php echo $data[0]['alias']; ?>" autocomplete="off"/>
|
||||
</p>
|
||||
<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>
|
||||
<p><span><?php echo $lang->get('sp_edit_keywords');?>:</span><input type="text" name="meta_keywords"
|
||||
value="<?php echo $data[0]['meta_keywords']; ?>"/></p>
|
||||
|
|
|
@ -16,6 +16,7 @@ if (hasPerm('manage_pages'))
|
|||
<tr>
|
||||
<th><?php echo $lang->get('sp_page');?></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>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -31,6 +32,7 @@ if (hasPerm('manage_pages'))
|
|||
|
||||
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)
|
||||
{
|
||||
echo '<tr>';
|
||||
|
@ -43,6 +45,7 @@ if (hasPerm('manage_pages'))
|
|||
{
|
||||
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 '</tr>';
|
||||
}
|
||||
|
|
|
@ -33,6 +33,11 @@ $lang['sp_preview'] = 'Vorschau';
|
|||
$lang['sp_permissions'] = 'Berechtigungen';
|
||||
$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
|
||||
$lang['sp_user_already_access'] = '%1$s hat schon Zugriff auf diese Seite.';
|
||||
$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_delete_success'] = 'Die Änderungen wurden erfolgreich gelöscht.';
|
||||
$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_delete'] = 'Verwerfen';
|
||||
$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_confirm_subject'] = 'Freischaltung der Seite "%1$s"';
|
||||
$lang['sp_edit_confirm_message'] = '%1$s hat die Seite "%2$s" geändert. Diese steht jetzt zum Freischalten fü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ür dich bereit. <a href="%3$s">Freischalten</a>';
|
||||
$lang['sp_edit_delete_success'] = 'Die Seite wurde erfolgreich gelöscht.';
|
||||
$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>';
|
||||
|
|
|
@ -33,6 +33,11 @@ $lang['sp_preview'] = 'Preview';
|
|||
$lang['sp_permissions'] = '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
|
||||
$lang['sp_user_already_access'] = '%1$s has already access to that page.';
|
||||
$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_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_created'] = 'Was created at %1$s by %2$s';
|
||||
$lang['sp_confirm_confirm'] = 'Confirm';
|
||||
$lang['sp_confirm_delete'] = 'Dismiss';
|
||||
$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_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_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'] = 'Delete "%1$s"';
|
||||
$lang['sp_edit_delete_confirm'] = 'Are you sure to delete the page "%1$s"?<br/><b>You cannot undo this!</b>';
|
||||
|
|
BIN
favicon.ico
BIN
favicon.ico
Binary file not shown.
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 264 KiB |
|
@ -55,7 +55,7 @@ if (!isset($_GET['direct']))
|
|||
pageBodyParser();
|
||||
|
||||
function findPage(ctx, next) {
|
||||
//console.log(ctx);
|
||||
console.log(ctx);
|
||||
if(!ctx.init) {
|
||||
if (ctx.body) { //If POST-Request, send Post via ajax
|
||||
|
||||
|
|
|
@ -234,7 +234,7 @@ function printHeader($title)
|
|||
<label for="options_menu">
|
||||
<p><span class="usr_info">';
|
||||
//<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>
|
||||
<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>
|
||||
|
|
Loading…
Reference in New Issue