Skip to content

Commit e4f691a

Browse files
committed
GetSimple CMS - Community Edition
1 parent 78ef994 commit e4f691a

File tree

1,061 files changed

+75591
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,061 files changed

+75591
-0
lines changed

README.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
### GetSimple CMS 3.3.19 COMMUNITY EDITION
2+
The official unofficial GS update repo. Helping to bridge the gap in PHP compatibility.
3+
4+
What has changed in this version of the Community Edition?
5+
6+
🚀 **_Added support for php7.4-8.2_**
7+
8+
9+
**New in this Update:**
10+
11+
⭐ Massive Admin included by default (repsponsive admin + user manager + much much more...).
12+
13+
⭐ New Admin themes option.
14+
15+
⭐ ResponsiveCE default template (front-end starter theme).
16+
17+
⭐ New ckEditor plugins (Codemirror, YouTube, FontAwesome, etc.).
18+
19+
⭐ New Soport Page options (view errorlog & phpInfo).
20+
21+
⭐ New gsconfig option (view page tree by Title or Menu order).
22+
23+
⭐ New Copy Component code button.
24+
25+
⭐ Other minor fixes and cleanup.
26+
27+
**Previous Updates:**
28+
29+
- Fix deprecated Text-encoding HTML-ENTITIES for php8.2.
30+
- Hotfixes: form action reflection, add phar to blacklist, .htaccess
31+
- Fix bug in Components if none exist.
32+
- Fix non numeric error on gsdebug.
33+
- Fix vulnerability #1335 (https://github.com/GetSimpleCMS/GetSimpleCMS/issues/1335)
34+
- Fix error message (empty log file) #1312 (https://github.com/GetSimpleCMS/GetSimpleCMS/pull/1312)
35+
- Fix missing php7 extension on file_ext_blacklist #1237 (https://github.com/GetSimpleCMS/GetSimpleCMS/issues/1237)
36+
- Add .webp support for GetSimple CMS #1350 (https://github.com/GetSimpleCMS/GetSimpleCMS/pull/1350)
37+
- Add thumbnail creation on upload.
38+
- Update Google Fonts to local in Innovation theme (for German GDPR).
39+
- Changed function name do to deprecated class constructor.
40+
- Further 8.x compatibility from Topic with fixes ([Forum Thread](http://get-simple.info/forums/showthread.php?tid=16548))
41+
42+
43+
```bash
44+
/// original readme below ///
45+
```
46+
GetSimple Content Management System
47+
=========================================
48+
49+
DESCRIPTION:
50+
-----------------------------------
51+
52+
GetSimple CMS is a flatfile CMS that works fast and efficient and has
53+
the best UI around.
54+
55+
Official Website - http://get-simple.info/
56+
57+
GetSimple CMS was developed by Chris Cagle [ http://chriscagle.me ] and
58+
is now passionately supported and developed by a loving community.
59+
60+
61+
LICENSE:
62+
-----------------------------------
63+
64+
This software package is licensed under the GNU GENERAL PUBLIC LICENSE v3.
65+
LICENSE.txt is located within this download's zip file
66+
67+
It would be great if you would link back to get-simple.info if you use it.
68+
69+
70+
REQUIREMENTS:
71+
-----------------------------------
72+
73+
http://get-simple.info/docs/requirements
74+
75+
### Build Requirements ###
76+
77+
PHP 7.4+
78+
79+
### Module Requirements ###
80+
81+
SimpleXML
82+
83+
### Browser Requirements ###
84+
85+
Javascript Enabled
86+
87+
### Server ###
88+
*Apache ( required for out of the box security using .htaccess )
89+
90+
*If not using Apache you will get a non-apache warning,
91+
this warning is to alert you that your data files will not be secure
92+
and you must take proper precautions to secure your site.
93+
To disable this warning see gsconfig definition GSNOAPACHECHECK
94+
95+
96+
INSTALLATION:
97+
-----------------------------------
98+
99+
Please see: http://get-simple.info/docs/installation
100+
101+
102+
UPGRADING
103+
-----------------------------------
104+
105+
Please see: http://get-simple.info/docs/upgrading
106+
107+
108+
DISCLAIMER:
109+
-----------------------------------
110+
111+
While GetSimple strives to be a secure and stable application, we simply cannot
112+
be held liable for any information loss, corruption or anything else that may
113+
happen to your site while it is using the our software. If you find a bug
114+
or security hole, please contact someone in the forums at
115+
http://get-simple.info/forum
116+
117+
118+
______________________________________________
119+
GetSimple CMS - http://get-simple.info/

admin/api.php

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?php
2+
/**
3+
* GetSimple API Handler
4+
*
5+
* @package GetSimple
6+
* @subpackage API
7+
*/
8+
include('inc/common.php');
9+
include('inc/api.class.php');
10+
11+
#step 1 - check for post
12+
if (empty($_POST)) exit;
13+
if (!getDef('GSEXTAPI',true)) exit;
14+
15+
// disable libxml error output
16+
if(!isDebug()) libxml_use_internal_errors(true);
17+
18+
// disable entity loading to avoid xxe
19+
libxml_disable_entity_loader();
20+
21+
#step 1 - check post for data
22+
if (!isset($_POST['data'])) {
23+
$message = ['status' => 'error', 'message' => i18n_r('API_ERR_MISSINGPARAM')];
24+
echo json_encode($message);
25+
exit;
26+
};
27+
28+
#step 2 - setup request
29+
$in = simplexml_load_string($_POST['data'], 'SimpleXMLExtended', LIBXML_NOCDATA);
30+
$request = new API_Request();
31+
$request->add_data($in);
32+
33+
#step 3 - verify a compatible method was provided
34+
$methods = ['page_read', 'page_save', 'all_pages_read', 'all_files_read', 'file_upload', 'settings_read'];
35+
if (!in_array($in->method, $methods)) {
36+
$message = ['status' => 'error', 'message' => sprintf(i18n_r('API_ERR_BADMETHOD'), $in->method)];
37+
echo json_encode($message);
38+
exit;
39+
}
40+
41+
#step 4 - process request
42+
$method = (string)$in->method;
43+
echo call_user_func([$request, $method], '');
44+
45+
exit;
46+
47+
/*
48+
----------------------------
49+
EXAMPLE XML FILE COMING IN
50+
----------------------------
51+
52+
<request>
53+
<key>ABCDE12345</key>
54+
<method>page_read</method>
55+
<data>
56+
<field1></field1>
57+
<field2></field2>
58+
<field3></field3>
59+
</data>
60+
</request>
61+
62+
*/

admin/apple-touch-icon.png

3.28 KB
Loading

admin/archive.php

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?php
2+
/**
3+
* Archive
4+
*
5+
* Displays and starts the website archives
6+
*
7+
* @package GetSimple
8+
* @subpackage Backups
9+
*/
10+
11+
// Setup inclusions
12+
$load['plugin'] = true;
13+
14+
// Include common.php
15+
include('inc/common.php');
16+
17+
// Variable Settings
18+
login_cookie_check();
19+
$table = '';
20+
21+
// if a backup needs to be created
22+
if(isset($_GET['do'])) {
23+
24+
// check for csrf
25+
if (!defined('GSNOCSRF') || (GSNOCSRF == FALSE) ) {
26+
$nonce = $_GET['nonce'];
27+
if(!check_nonce($nonce, "create")) {
28+
die("CSRF detected!");
29+
}
30+
}
31+
exec_action('archive-backup');
32+
redirect('zip.php?s='.$SESSIONHASH);
33+
}
34+
35+
// if a backup has just been created
36+
if(isset($_GET['done'])) {
37+
$success = i18n_r('SUCC_WEB_ARCHIVE');
38+
}
39+
40+
if(isset($_GET['nozip'])) {
41+
$error = i18n_r('NO_ZIPARCHIVE'). ' - <a href="health-check.php">'.i18n_r('WEB_HEALTH_CHECK').'</a>';
42+
}
43+
44+
get_template('header', cl($SITENAME).' &raquo; '.i18n_r('BAK_MANAGEMENT').' &raquo; '.i18n_r('WEBSITE_ARCHIVES'));
45+
46+
?>
47+
48+
<?php include('template/include-nav.php'); ?>
49+
50+
<div class="bodycontent clearfix">
51+
52+
<div id="maincontent">
53+
<div class="main" >
54+
<h3 class="floated"><?php i18n('WEBSITE_ARCHIVES');?></h3>
55+
<div class="edit-nav clearfix" >
56+
<a id="waittrigger" href="archive.php?do&amp;nonce=<?php echo get_nonce("create"); ?>" accesskey="<?php echo find_accesskey(i18n_r('ASK_CREATE_ARC'));?>" title="<?php i18n('CREATE_NEW_ARC');?>" ><?php i18n('ASK_CREATE_ARC');?></a>
57+
</div>
58+
<p style="display:none" id="waiting" ><?php i18n('CREATE_ARC_WAIT');?></p>
59+
60+
<table class="highlight paginate">
61+
<tr><th><?php i18n('ARCHIVE_DATE'); ?></th><th style="text-align:right;" ><?php i18n('FILE_SIZE'); ?></th><th></th></tr>
62+
<?php
63+
$count="0";
64+
$path = tsl(GSBACKUPSPATH .'zip/');
65+
66+
$filenames = getFiles($path);
67+
68+
natsort($filenames);
69+
rsort($filenames);
70+
71+
foreach ($filenames as $file) {
72+
if($file[0] != "." ) {
73+
$timestamp = explode('_', $file);
74+
$name = lngDate($timestamp[0]);
75+
clearstatcache();
76+
$ss = stat($path . $file);
77+
$size = fSize($ss['size']);
78+
echo '<tr>
79+
<td><a title="'.i18n_r('DOWNLOAD').' '. $name .'" href="download.php?file='. $path . $file .'&amp;nonce='.get_nonce("archive", "download.php").'">'.$name .'</a></td>
80+
<td style="width:70px;text-align:right;" ><span>'.$size.'</span></td>
81+
<td class="delete" ><a class="delconfirm" title="'.i18n_r('DELETE_ARCHIVE').': '. $name .'?" href="deletefile.php?zip='. $file .'&amp;nonce='.get_nonce("delete", "deletefile.php").'">&times;</a></td>
82+
</tr>';
83+
$count++;
84+
}
85+
}
86+
87+
?>
88+
</table>
89+
<p><em><b><span id="pg_counter"><?php echo $count; ?></span></b> <?php i18n('TOTAL_ARCHIVES');?></em></p>
90+
</div>
91+
</div>
92+
93+
<div id="sidebar" >
94+
<?php include('template/sidebar-backups.php'); ?>
95+
</div>
96+
97+
</div>
98+
<?php get_template('footer'); ?>

0 commit comments

Comments
 (0)