- 전 화면 우하단 '의견' 위젯(embed/portal/admin 레이아웃) — 로그인 사용자 - 의견 + html2canvas 화면 캡처 + 이미지 첨부(최대 5장) 저장 - 화면 URL/계정/지자체 자동 수집(계정·지자체는 서버 세션 기준) - 관리자 /admin/feedback 목록·상세·상태(접수/처리중/완료/보류)·메모, 테넌트 분리 - feedback/feedback_file 테이블, 첨부 이미지는 관리자 전용 라우트로 서빙 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
1.0 KiB
PHP
41 lines
1.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Models;
|
|
|
|
use CodeIgniter\Model;
|
|
|
|
/**
|
|
* 사용자 의견(피드백) 모델.
|
|
*/
|
|
class FeedbackModel extends Model
|
|
{
|
|
protected $table = 'feedback';
|
|
protected $primaryKey = 'fb_idx';
|
|
protected $returnType = 'object';
|
|
protected $useTimestamps = true;
|
|
protected $createdField = 'fb_regdate';
|
|
protected $updatedField = 'fb_updated';
|
|
protected $dateFormat = 'datetime';
|
|
|
|
protected $allowedFields = [
|
|
'fb_lg_idx', 'fb_mb_idx', 'fb_mb_name', 'fb_mb_level',
|
|
'fb_content', 'fb_page_url', 'fb_page_title', 'fb_screenshot',
|
|
'fb_user_agent', 'fb_status', 'fb_admin_memo',
|
|
];
|
|
|
|
/** 허용 상태 값 */
|
|
public const STATUSES = ['new', 'in_progress', 'done', 'hold'];
|
|
|
|
public static function statusLabel(string $s): string
|
|
{
|
|
return [
|
|
'new' => '접수',
|
|
'in_progress' => '처리중',
|
|
'done' => '완료',
|
|
'hold' => '보류',
|
|
][$s] ?? $s;
|
|
}
|
|
}
|