diff --git a/admin/assets/Logo.svg b/admin/assets/Logo.svg index d7642ba..dc46606 100755 --- a/admin/assets/Logo.svg +++ b/admin/assets/Logo.svg @@ -1,764 +1,864 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +image/svg+xml \ No newline at end of file diff --git a/admin/assets/favicon.ico b/admin/assets/favicon.ico index c9614d2..8a6d2c1 100755 Binary files a/admin/assets/favicon.ico and b/admin/assets/favicon.ico differ diff --git a/admin/permissions.php b/admin/permissions.php index 77c24a4..c7cdd29 100755 --- a/admin/permissions.php +++ b/admin/permissions.php @@ -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); diff --git a/apps/SimplePages/backend/confirm.php b/apps/SimplePages/backend/confirm.php index 11d7dc9..74c0deb 100755 --- a/apps/SimplePages/backend/confirm.php +++ b/apps/SimplePages/backend/confirm.php @@ -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').' '.$lang->get('back').''); - } - else + echo msg('success', $lang->get('sp_confirm_success') . ' ' . $lang->get('back') . ''); + } else { - echo msg('fail', $lang->get('sp_confirm_fail').' '.$lang->get('back').''); + echo msg('fail', $lang->get('sp_confirm_fail') . ' ' . $lang->get('back') . ''); } }//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').' '.$lang->get('back').''); - } - else + echo msg('success', $lang->get('sp_confirm_delete_success') . ' ' . $lang->get('back') . ''); + } else { - echo msg('fail', $lang->get('sp_confirm_delete_fail').' '.$lang->get('back').''); + echo msg('fail', $lang->get('sp_confirm_delete_fail') . ' ' . $lang->get('back') . ''); } - } - 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 '
'; - echo '

'.sprintf($lang->get('sp_confirm_changed'), date('d.m.Y \u\m H:i', $data_new['lastedit']), getUserByID($data_new['user'])).':

'; + if ($created) + { + echo '

' . sprintf($lang->get('sp_confirm_created'), date('d.m.Y \u\m H:i', $data_new['lastedit']), getUserByID($data_new['user'])) . ':

'; + } else + { + + echo '

' . sprintf($lang->get('sp_confirm_changed'), date('d.m.Y \u\m H:i', $data_new['lastedit']), getUserByID($data_new['user'])) . ':

'; + } + $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 '
'.print_r($data_old, true).'
'; - echo '
'; + echo '
'; echo '
'; - } - else + } else { - echo msg('info', $lang->get('sp_confirm_no_changes').' '.$lang->get('back').''); + echo msg('info', $lang->get('sp_confirm_no_changes') . ' ' . $lang->get('back') . ''); } - } - else + } else { - echo msg('info', $lang->get('sp_confirm_no_changes').' '.$lang->get('back').''); + echo msg('info', $lang->get('sp_confirm_no_changes') . ' ' . $lang->get('back') . ''); } } - } - else + } else { - echo msg('info', $lang->get('sp_confirm_no_changes').' '.$lang->get('back').''); + echo msg('info', $lang->get('sp_confirm_no_changes') . ' ' . $lang->get('back') . ''); } - } - else + } else { - echo msg('info', $lang->get('missing_permission').' '.$lang->get('back').''); + echo msg('info', $lang->get('missing_permission') . ' ' . $lang->get('back') . ''); } } require_once '../../../inc/footer.php'; \ No newline at end of file diff --git a/apps/SimplePages/backend/edit.php b/apps/SimplePages/backend/edit.php index b008e2f..355b787 100755 --- a/apps/SimplePages/backend/edit.php +++ b/apps/SimplePages/backend/edit.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="" autocomplete="off"/>

get('sp_edit_public');?>:/>

get('sp_edit_keywords');?>:

diff --git a/apps/SimplePages/backend/management.php b/apps/SimplePages/backend/management.php index 04296e9..2fb6f0d 100755 --- a/apps/SimplePages/backend/management.php +++ b/apps/SimplePages/backend/management.php @@ -16,6 +16,7 @@ if (hasPerm('manage_pages')) get('sp_page');?> get('sp_last_edit');?> + get('sp_edit_status');?> get('sp_action');?> @@ -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 ''; @@ -43,6 +45,7 @@ if (hasPerm('manage_pages')) { echo ''.$lang->get('sp_never').''; } + echo ''.$status[$pageitem['status']].''; echo ' '.$lang->get('sp_edit').' | '.$lang->get('sp_delete').' | '.$lang->get('sp_preview').''; echo ''; } diff --git a/apps/SimplePages/lang/lang.de.php b/apps/SimplePages/lang/lang.de.php index 72431d4..d0d2b2e 100755 --- a/apps/SimplePages/lang/lang.de.php +++ b/apps/SimplePages/lang/lang.de.php @@ -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. Freischalten'; +$lang['sp_create_confirm_message'] = '%1$s hat die Seite "%2$s" erstellt. Diese steht jetzt zum Freischalten für dich bereit. Freischalten'; $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?
Dieser Vorgang kann nicht rückgängig gemacht werden!'; diff --git a/apps/SimplePages/lang/lang.en.php b/apps/SimplePages/lang/lang.en.php index 00895fd..6db334a 100755 --- a/apps/SimplePages/lang/lang.en.php +++ b/apps/SimplePages/lang/lang.en.php @@ -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. Confirm'; +$lang['sp_create_confirm_message'] = '%1$s created the page "%2$s". It is now ready for you to confirm. Confirm'; $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"?
You cannot undo this!'; diff --git a/favicon.ico b/favicon.ico index c9614d2..8a6d2c1 100755 Binary files a/favicon.ico and b/favicon.ico differ diff --git a/inc/footer.php b/inc/footer.php index 8f0ecc6..e92d36d 100755 --- a/inc/footer.php +++ b/inc/footer.php @@ -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 diff --git a/inc/libs/functions.php b/inc/libs/functions.php index 721462f..b5d08a9 100755 --- a/inc/libs/functions.php +++ b/inc/libs/functions.php @@ -234,7 +234,7 @@ function printHeader($title)