123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- declare(strict_types=1);
- namespace App\Controllers\Admin\Setting;
- use App\Controllers\BaseController;
- use App\Models\Config;
- use Exception;
- use Psr\Http\Message\ResponseInterface;
- use Slim\Http\Response;
- use Slim\Http\ServerRequest;
- final class FeatureController extends BaseController
- {
- private static array $update_field = [
- 'display_detect_log',
- 'display_docs',
- 'display_docs_only_for_paid_user',
- 'traffic_log',
- 'traffic_log_retention_days',
- 'subscribe_log',
- 'subscribe_log_retention_days',
- 'notify_new_subscribe',
- 'login_log',
- 'notify_new_login',
- 'enable_checkin',
- 'checkin_min',
- 'checkin_max',
- ];
- /**
- * @throws Exception
- */
- public function index(ServerRequest $request, Response $response, array $args): ResponseInterface
- {
- $settings = Config::getClass('feature');
- return $response->write(
- $this->view()
- ->assign('update_field', self::$update_field)
- ->assign('settings', $settings)
- ->fetch('admin/setting/feature.tpl')
- );
- }
- public function save(ServerRequest $request, Response $response, array $args): ResponseInterface
- {
- foreach (self::$update_field as $item) {
- if (! Config::set($item, $request->getParam($item))) {
- return $response->withJson([
- 'ret' => 0,
- 'msg' => '保存 ' . $item . ' 时出错',
- ]);
- }
- }
- return $response->withJson([
- 'ret' => 1,
- 'msg' => '保存成功',
- ]);
- }
- }
|