diff --git a/app/Controllers/Admin/UserController.php b/app/Controllers/Admin/UserController.php index e19a9cc..fc79ba3 100644 --- a/app/Controllers/Admin/UserController.php +++ b/app/Controllers/Admin/UserController.php @@ -21,8 +21,12 @@ class UserController extends AdminController { switch ($field) { case 'passwd': - $this->_viewDatas['fieldDatas'][$field] = $this->request->getVar($field); - $this->_viewDatas['fieldDatas']['confirmpassword'] = $this->request->getVar('confirmpassword'); + $passwd = $this->request->getVar($field) ?: false; + $confirmpassword = $this->request->getVar('confirmpassword') ?: false; + if ($passwd && $confirmpassword) { + $this->_viewDatas['fieldDatas'][$field] = $passwd; + $this->_viewDatas['fieldDatas']['confirmpassword'] = $confirmpassword; + } break; default: return parent::getFieldFormData($field, $entity); diff --git a/app/Helpers/User_helper.php b/app/Helpers/User_helper.php index 303adab..0d62bff 100644 --- a/app/Helpers/User_helper.php +++ b/app/Helpers/User_helper.php @@ -21,7 +21,17 @@ function getFieldForm_UserHelper($field, $value, array $viewDatas, array $attrib // return form_dropdown($field, $viewDatas['fieldFormOptions'][$field], $value, [...$attributes, 'class' => "select-field"]); // return form_multiselect($field, $fieldFormOptions[$field], is_array($value) ? [...$value] : [$value], [...$attributes]); foreach ($viewDatas['fieldFormOptions'][$field] as $key => $label) { - $checkboxs[] = form_checkbox("{$field}[]", $key, in_array($key, explode(DEFAULTS["DELIMITER_ROLE"], $value))) . $label; + $checkboxs[] = form_checkbox( + "{$field}[]", + $key, + in_array( + $key, + is_array($value) ? $value : explode( + DEFAULTS["DELIMITER_ROLE"], + $value + ) + ) + ) . $label; } return implode(" ", $checkboxs); break; diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php index 586489d..ecde7e0 100644 --- a/app/Models/BaseModel.php +++ b/app/Models/BaseModel.php @@ -191,7 +191,7 @@ abstract class BaseModel extends Model } break; case "user_uid": //입력데이터로 있을시 관리툴에서 (사용자,등)추가, 없을시는 입력의 경우에만 자동(장바구니,등)으로 추가 - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { //관리툴 USERSNS에서 사용자 연동 시 추가기능등에 사용 $entity->$field = $formDatas[$field]; } elseif ($action == 'create' && $this->_session->get(SESSION_NAMES["ISLOGIN"])) { @@ -203,17 +203,17 @@ abstract class BaseModel extends Model case "passwd": // echo var_export($this->validationRules, true); // exit; - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { $entity->$field = password_hash($formDatas[$field], PASSWORD_DEFAULT); } break; case "content": - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { $entity->$field = htmlentities($formDatas[$field]); } break; default: - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { $entity->$field = $formDatas[$field]; } break; diff --git a/app/Models/CategoryModel.php b/app/Models/CategoryModel.php index 4a715bf..50b7108 100644 --- a/app/Models/CategoryModel.php +++ b/app/Models/CategoryModel.php @@ -75,13 +75,13 @@ class CategoryModel extends BaseHierarchyModel case "isreply": case "isupload": case "isdownload": - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { $entity->$field = is_array($formDatas[$field]) ? implode(DEFAULTS['DELIMITER_ROLE'], $formDatas[$field]) : $formDatas[$field]; } break; case "head": case "tail": - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { $entity->$field = htmlentities($formDatas[$field]); } break; diff --git a/app/Models/UserModel.php b/app/Models/UserModel.php index a6d65fb..9990dd1 100644 --- a/app/Models/UserModel.php +++ b/app/Models/UserModel.php @@ -31,9 +31,10 @@ class UserModel extends BaseModel $rules[$field] .= $action == "insert" ? "|is_unique[{$this->table}.{$field}]" : ""; break; case "passwd": - $rules[$field] = $action == "insert" ? "required|trim|string" : "if_exists|trim|string"; + $rules[$field] = "if_exist|trim|string"; if ($action != "") { - $rules["confirmpassword"] = $action == "insert" ? "required|trim|string|matches[passwd]" : "if_exists|trim|string|matches[passwd]"; + $rules[$field] = $action == "insert" ? "required|trim|string" : "if_exist|trim|string"; + $rules["confirmpassword"] = $action == "insert" ? "required|trim|string|matches[passwd]" : "if_exist|trim|string|matches[passwd]"; } break; case $this->getTitleField(): @@ -54,20 +55,6 @@ class UserModel extends BaseModel } return $rules; } - //Form 선택용 Options Data용 - public function getOptions_TEST(array $conditions = array(), $options = array()): array - { - foreach ($this->getEntitys($conditions) as $entity) { - // STATUS가 use가 아닐때 option을 disabled되게 하기위함 - if ($entity->getStatus() != DEFAULTS['STATUS']) { - $options[$entity->getPrimaryKey() . "\" disabled=\"disabled"] = $entity->getTitle(); - } else { - $options[$entity->getPrimaryKey()] = $entity->getTitle(); - } - } - return $options; - } - public function getEntity($conditions): UserEntity { return parent::getEntity($conditions); @@ -77,13 +64,13 @@ class UserModel extends BaseModel { switch ($field) { case "role": - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { $entity->$field = is_array($formDatas[$field]) ? implode(DEFAULTS['DELIMITER_ROLE'], $formDatas[$field]) : $formDatas[$field]; } break; case "head": case "tail": - if (array_key_exists($field, $formDatas) && !is_null($formDatas[$field])) { + if (array_key_exists($field, $formDatas)) { $entity->$field = htmlentities($formDatas[$field]); } break;