check('general/config/edit')) { return false; } $configs = self::where('status', 1)->column('*', 'name'); $newConfigs = []; foreach ($configs as $key => $value) { if ($value['options'] != '') { $value['options'] = parse_attr($value['options']); } switch ($value['type']) { case 'array': $newConfigs[$key] = (array) json_decode($value['value'], true); break; case 'select': case 'radio': $newConfigs[$key] = $value['value']; if (isset($value['options'][$value['value']])) { $newConfigs[$key . '_text'] = $value['options'][$value['value']]; } else { $newConfigs[$key . '_text'] = $value['value']; } break; case 'selects': case 'checkbox': if (empty($value['value'])) { $newConfigs[$key] = []; } else { $valueArr = explode(',', $value['value']); foreach ($valueArr as $v) { if (isset($value['options'][$v])) { $newConfigs[$key][$v] = $value['options'][$v]; } elseif ($v) { $newConfigs[$key][$v] = $v; } } } break; case 'files': case 'images': $newConfigs[$key] = empty($value['value']) ? [] : explode(',', $value['value']); break; case 'markdown': $parser = new \util\Parser; $newConfigs[$key] = $value['value']; $newConfigs[$key . '_text'] = $parser->makeHtml($value['value']); break; default: $newConfigs[$key] = $value['value']; break; } } file_put_contents( app()->getConfigPath() . 'site.php', 'http->getName() ? $uploadcfg['uploadurl'] : ($uploadcfg['uploadurl'] === 'ajax/upload' ? 'index/' . $uploadcfg['uploadurl'] : $uploadcfg['uploadurl']); if (!preg_match("/^((?:[a-z]+:)?\/\/)(.*)/i", $uploadurl) && substr($uploadurl, 0, 1) !== '/') { $uploadurl = (string) url($uploadurl, [], false); } $uploadcfg['fullmode'] = isset($uploadcfg['fullmode']) && $uploadcfg['fullmode']; $uploadcfg['thumbstyle'] = $uploadcfg['thumbstyle'] ?? ''; $upload = [ 'cdnurl' => $uploadcfg['cdnurl'], 'uploadurl' => $uploadurl, 'bucket' => 'local', 'maxsize' => $uploadcfg['maxsize'], 'mimetype' => $uploadcfg['mimetype'], 'chunking' => $uploadcfg['chunking'], 'chunksize' => $uploadcfg['chunksize'], 'savekey' => $uploadcfg['savekey'], 'multipart' => [], 'multiple' => $uploadcfg['multiple'], 'timeout' => $uploadcfg['timeout'], 'fullmode' => $uploadcfg['fullmode'], 'thumbstyle' => $uploadcfg['thumbstyle'], 'storage' => 'local', ]; return $upload; } }