diff options
-rw-r--r-- | src/etc/inc/globals.inc | 2 | ||||
-rw-r--r-- | src/etc/inc/upgrade_config.inc | 14 | ||||
-rw-r--r-- | src/usr/local/www/widgets/widgets/picture.widget.php | 9 |
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> |