summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/etc/inc/globals.inc2
-rw-r--r--src/etc/inc/upgrade_config.inc14
-rw-r--r--src/usr/local/www/widgets/widgets/picture.widget.php9
3 files changed, 21 insertions, 4 deletions
diff --git a/src/etc/inc/globals.inc b/src/etc/inc/globals.inc
index 4a6c23c..f1adc23 100644
--- a/src/etc/inc/globals.inc
+++ b/src/etc/inc/globals.inc
@@ -74,7 +74,7 @@ $g = array(
"disablecrashreporter" => false,
"crashreporterurl" => "https://crashreporter.pfsense.org/crash_reporter.php",
"debug" => false,
- "latest_config" => "17.6",
+ "latest_config" => "17.7",
"minimum_ram_warning" => "101",
"minimum_ram_warning_text" => "128 MB",
"wan_interface_name" => "wan",
diff --git a/src/etc/inc/upgrade_config.inc b/src/etc/inc/upgrade_config.inc
index 123daaf..ea4aa35 100644
--- a/src/etc/inc/upgrade_config.inc
+++ b/src/etc/inc/upgrade_config.inc
@@ -5521,4 +5521,18 @@ function upgrade_175_to_176() {
}
}
+// The image displayed by the picture widget is now stored on the file system
+function upgrade_176_to_177() {
+ global $config;
+
+ if (isset($config['widgets'])) {
+ $idx = 0;
+
+ while (isset($config['widgets']['picture-' . $idx])) {
+ file_put_contents("/conf/widget_image.picture-" . $idx, base64_decode($config['widgets']['picture-' . $idx]['picturewidget']));
+ $config['widgets']['picture-' . $idx]['picturewidget'] = "/conf/widget_image.picture-". $idx;
+ $idx++;
+ }
+ }
+}
?>
diff --git a/src/usr/local/www/widgets/widgets/picture.widget.php b/src/usr/local/www/widgets/widgets/picture.widget.php
index 8c11856..aa8ab50 100644
--- a/src/usr/local/www/widgets/widgets/picture.widget.php
+++ b/src/usr/local/www/widgets/widgets/picture.widget.php
@@ -27,9 +27,11 @@ require_once("functions.inc");
if ($_GET['getpic']=="true") {
$pic_type_s = explode(".", $user_settings['widgets'][$_GET['widgetkey']]['picturewidget_filename']);
$pic_type = $pic_type_s[1];
+
if ($user_settings['widgets'][$_GET['widgetkey']]['picturewidget']) {
- $data = base64_decode($user_settings['widgets'][$_GET['widgetkey']]['picturewidget']);
+ $data = file_get_contents("/conf/widget_image." . $_GET['widgetkey']);
}
+
header("Content-Disposition: inline; filename=\"{$user_settings['widgets'][$_GET['widgetkey']]['picturewidget_filename']}\"");
header("Content-Type: image/{$pic_type}");
header("Content-Length: " . strlen($data));
@@ -60,7 +62,8 @@ if ($_POST['widgetkey']) {
die("Not a gif/jpg/png");
}
$picname = basename($_FILES['uploadedfile']['name']);
- $user_settings['widgets'][$_POST['widgetkey']]['picturewidget'] = base64_encode($data);
+ $user_settings['widgets'][$_POST['widgetkey']]['picturewidget'] = "/conf/widget_image";
+ file_put_contents("/conf/widget_image." . $_POST['widgetkey'], $data);
$user_settings['widgets'][$_POST['widgetkey']]['picturewidget_filename'] = $_FILES['pictfile']['name'];
}
}
@@ -85,7 +88,7 @@ if($user_settings['widgets'][$widgetkey]["picturewidget"] != null){?>
<input type="hidden" name="widgetkey" value="<?=htmlspecialchars($widgetkey); ?>">
<?=gen_customwidgettitle_div($widgetconfig['title']); ?>
<div class="form-group">
- <label for="pictfile" class="col-sm-4 control-label"><?=gettext('New picture:')?> </label>
+ <label for="pictfile" class="col-sm-4 control-label"><?=gettext('New pictures:')?> </label>
<div class="col-sm-6">
<input id="pictfile" name="pictfile" type="file" class="form-control" accept="image/*"/>
</div>
OpenPOWER on IntegriCloud