Close #11, close #14

master
Skylar Ittner 6 years ago
parent 63bf2ce327
commit 70e7f74a1a

@ -133,7 +133,23 @@ switch ($VARS['action']) {
$database->insert('pages', ["slug" => "index", "siteid" => $siteid, "title" => "Home", "nav" => "Home", "navorder" => 1, "template" => $template]);
} else {
$database->update('sites', ["sitename" => $VARS['name'], "url" => $url, "theme" => $theme, "color" => $color], ["siteid" => $VARS['siteid']]);
$siteid = $VARS['siteid'];
}
foreach ($VARS['settings'] as $key => $value) {
if ($database->has('settings', ["AND" => ["siteid" => $siteid, "key" => $key]])) {
if ($value == "") {
//echo "deleting $key => $value\n";
$database->delete('settings', ["AND" => ["siteid" => $siteid, "key" => $key]]);
} else {
//echo "updating $key => $value\n";
$database->update('settings', ["value" => $value], ["AND" => ["siteid" => $siteid, "key" => $key]]);
}
} else if ($value != "") {
$database->insert('settings', ["siteid" => $siteid, "key" => $key, "value" => $value]);
}
}
returnToSender("settings_saved");
break;
case "saveedits":

Binary file not shown.

@ -84,5 +84,8 @@ define("STRINGS", [
"views per visit" => "views per visit",
"visits over time" => "Visits Over Time",
"no data" => "No data.",
"visitor map" => "Visitor Map"
"visitor map" => "Visitor Map",
"enable built-in analytics" => "Enable built-in analytics",
"disable built-in analytics" => "Disable built-in analytics",
"extra code" => "Extra code (inserted in site head)"
]);

@ -11,9 +11,10 @@ use GeoIp2\Database\Reader;
// Override with a valid public IP when testing on localhost
//$_SERVER['REMOTE_ADDR'] = "206.127.96.82";
try {
require_once __DIR__ . "/requiredpublic.php";
require_once __DIR__ . "/requiredpublic.php";
if (!$database->has("settings", ["AND" => ["siteid" => getsiteid(), "key" => "analytics", "value" => "off"]])) {
try {
$time = date("Y-m-d H:i:s");
@ -94,10 +95,11 @@ try {
"lon" => $lon,
"time" => $time
]);
} catch (GeoIp2\Exception\AddressNotFoundException $e) {
} catch (GeoIp2\Exception\AddressNotFoundException $e) {
if (DEBUG) {
echo "<!-- The client IP was not found in the GeoIP database. -->";
}
} catch (Exception $e) {
} catch (Exception $e) {
// Silently fail so the rest of the site still works
}
}

@ -192,7 +192,11 @@ function get_page_content($slug = null) {
}
function get_header() {
$db = getdatabase();
$siteid = getsiteid();
if ($db->has('settings', ["AND" => ['siteid' => $siteid, 'key' => "extracode"]])) {
echo $db->get('settings', "value", ["AND" => ['siteid' => $siteid, 'key' => "extracode"]]);
}
}
function get_theme_url($echo = true) {

@ -11,7 +11,7 @@ $editing = true;
$siteid = "";
$sitedata = [];
$settings = [];
if (!is_empty($VARS['siteid'])) {
if ($database->has('sites', ['siteid' => $VARS['siteid']])) {
@ -26,6 +26,17 @@ if (!is_empty($VARS['siteid'])) {
], [
'siteid' => $siteid
])[0];
$dbsett = $database->select(
'settings', [
'key',
'value'
], [
'siteid' => $siteid
]);
// Format as ["key"=>"value","key"=>"value"], not [["key", "value"],["key", "value"]]
foreach ($dbsett as $s) {
$settings[$s['key']] = $s['value'];
}
} else {
header('Location: app.php?page=sites');
die();
@ -141,6 +152,30 @@ if (!is_empty($VARS['siteid'])) {
</div>
</div>
</div>
<div>
<div class="row">
<div class="col-12 col-md-6">
<i class="fas fa-chart-bar"></i> <?php lang("analytics"); ?>
<div class="form-check">
<input class="form-check-input" type="radio" name="settings[analytics]" value="" id="analytics_on" <?php echo ($settings["analytics"] === "off" ? "" : "checked") ?>>
<label class="form-check-label" for="analytics_on">
<?php lang("enable built-in analytics"); ?>
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="settings[analytics]" value="off" id="analytics_off" <?php echo ($settings["analytics"] === "off" ? "checked" : "") ?>>
<label class="form-check-label" for="analytics_off">
<?php lang("disable built-in analytics"); ?>
</label>
</div>
</div>
<div class="col-12 col-md-6">
<label for="extracode"><i class="fas fa-code"></i> <?php lang("extra code"); ?></label>
<textarea class="form-control" name="settings[extracode]" id="extracode" placeholder="<script></script>"><?php echo $settings["extracode"]; ?></textarea>
</div>
</div>
</div>
</div>
<input type="hidden" name="siteid" value="<?php echo $siteid; ?>" />

Loading…
Cancel
Save