"", "form" => "", "dictionary" => "", ); //---------------------------- // request parameter //---------------------------- $qToken = isset($_REQUEST["q_token"]) ? $_REQUEST["q_token"] : REQ_NON; $qID = isset($_REQUEST["q_id"]) ? $_REQUEST["q_id"] : REQ_NON; $qPassword = isset($_REQUEST["q_password"]) ? $_REQUEST["q_password"] : REQ_NON; $qPasswordRe = isset($_REQUEST["q_password_re"]) ? $_REQUEST["q_password_re"] : REQ_NON; $qTwitter = isset($_REQUEST["q_twitter"]) ? $_REQUEST["q_twitter"] : REQ_NON; $qQreditDictionary = isset($_REQUEST["q_qredit_dictionary"]) ? $_REQUEST["q_qredit_dictionary"] : REQ_NON; $qQreditDisplay = isset($_REQUEST["q_qredit_display"]) ? $_REQUEST["q_qredit_display"] : REQ_NON; $qQreditWidth = isset($_REQUEST["q_qredit_width"]) ? $_REQUEST["q_qredit_width"] : REQ_NON; $qQreditScroll = isset($_REQUEST["q_qredit_scroll"]) ? $_REQUEST["q_qredit_scroll"] : REQ_NON; $qQreditLookup = isset($_REQUEST["q_qredit_lookup"]) ? $_REQUEST["q_qredit_lookup"] : REQ_NON; $qQreditAction = isset($_REQUEST["q_qredit_action"]) ? $_REQUEST["q_qredit_action"] : REQ_NON; $qQreditTag = isset($_REQUEST["q_qredit_tag"]) ? $_REQUEST["q_qredit_tag"] : REQ_NON; //---------------------------- // judge post //---------------------------- $isPost = ($qToken !== REQ_NON); //---------------------------- // set types //---------------------------- Util::setType($qToken, "string"); Util::setType($qID, "int"); Util::setType($qPassword, "string"); Util::setType($qPasswordRe, "string"); Util::setType($qTwitter, "string"); Util::setType($qQreditDictionary, "int"); Util::setType($qQreditDisplay, "string"); Util::setType($qQreditWidth, "int"); Util::setType($qQreditScroll, "string"); Util::setType($qQreditLookup, "string"); Util::setType($qQreditAction, "string"); Util::setType($qQreditTag, "string"); //---------------------------- // Auth-Before validate //---------------------------- if ( $result === RES_OK ){ if ( $isPost ){ if ( ! Validate::isToken($qToken, "q_token") ){ $result = RES_NG; $gResult->push("{$WORD($wk, 1)}"); } if ( ! Validate::isNumeric($qID) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 2)}"); } if ( $qID !== User::get("id") ){ $result = RES_NG; $gResult->push("{$WORD($wk, 3)}"); } } } //---------------------------- // Auth //---------------------------- if ( $result === RES_OK ){ $auth = Auth::instance("user"); if ( ! $auth->write_isSetting($qID) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 4)}"); } } //---------------------------- // Auth-After validate //---------------------------- if ( $result === RES_OK ){ if ( $isPost ){ // パスワード更新の場合 if ( Validate::isString($qPassword) ){ $isChangePassword = TRUE; if ( ! Validate::isPassword($qPassword) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 5)}"); } if ( ! Validate::isLength($qPassword, DAO::T_USER_PASSWORD_LEN_MIN, DAO::T_USER_PASSWORD_LEN_MAX) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 6)}"); } if ( ! Validate::isPassword($qPasswordRe) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 7)}"); } if ( ! Validate::isLength($qPasswordRe, DAO::T_USER_PASSWORD_LEN_MIN, DAO::T_USER_PASSWORD_LEN_MAX) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 8)}"); } if ( ! Validate::isEqualStr($qPassword, $qPasswordRe) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 9)}"); } } if ( ! Validate::inKeyArray($qQreditDisplay, DAO::T_USER_QREDIT_DISPLAY_TABLE()) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 10)}"); } if ( ! Validate::inKeyArray($qQreditWidth, DAO::T_USER_QREDIT_WIDTH_TABLE()) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 11)}"); } if ( ! Validate::inKeyArray($qQreditScroll, DAO::T_USER_QREDIT_SCROLL_TABLE()) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 12)}"); } if ( ! Validate::inKeyArray($qQreditLookup, DAO::T_USER_QREDIT_LOOKUP_TABLE()) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 13)}"); } if ( ! Validate::inKeyArray($qQreditAction, DAO::T_USER_QREDIT_ACTION_TABLE()) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 14)}"); } if ( ! Validate::inKeyArray($qQreditTag, DAO::T_USER_QREDIT_TAG_TABLE()) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 15)}"); } } } //---------------------------- // function //---------------------------- //---------------------------- // process //---------------------------- if ( $result === RES_OK ){ DAO::begin(); $objDAOUser = DAO::instance("user"); // 辞書ビット調整 $qQreditDictionary = QReditDict::IDsToBitFlag($qQreditDictionary); // 更新 -------------------- if ( $isPost ){ if ( $result === RES_OK ){ // パスワード if ( ! $isChangePassword ){ $qPassword = NULL; } $resDAOUser = $objDAOUser->register($qID, NULL, NULL, NULL, $qPassword, NULL, NULL, NULL, NULL, $qTwitter, $qQreditDictionary, $qQreditDisplay, $qQreditWidth, $qQreditScroll, $qQreditLookup, $qQreditAction, $qQreditTag); $result = $resDAOUser["result"]; if ( $result === RES_OK ){ $gResult->push("{$WORD($wk, 16)}"); } else { $gResult->push("{$WORD($wk, 17)}"); } } } if ( $result === RES_OK ){ $qID = User::get("id"); $resDAOUser = $objDAOUser->get($qID); $result = $resDAOUser["result"]; if ( $result === RES_OK ){ $dataDAOUser = $resDAOUser["data"][0]; $qTwitter = $dataDAOUser["t_user_twitter"]; $qQreditDictionary = $dataDAOUser["t_user_qredit_dictionary"]; $qQreditDisplay = $dataDAOUser["t_user_qredit_display"]; $qQreditWidth = $dataDAOUser["t_user_qredit_width"]; $qQreditScroll = $dataDAOUser["t_user_qredit_scroll"]; $qQreditLookup = $dataDAOUser["t_user_qredit_lookup"]; $qQreditAction = $dataDAOUser["t_user_qredit_action"]; $qQreditTag = $dataDAOUser["t_user_qredit_tag"]; } else { $gResult->push("{$WORD($wk, 18)}"); } } $arrSelectDictionary = QReditDict::BitFlagToIDs($qQreditDictionary); $prevDict = -1; foreach ( QReditDict::ID_TABLE() as $key => $value ){ if ( isset($value["fix"]) ){ // 決まった値のものはON/OFFさせない continue; } $dict = $value["dict"]; $strDict = QReditDict::DICT_TABLE($dict); if ( $prevDict !== $dict ){ $arrHtml["dictionary"] .= Printer::formText($strDict); $prevDict = $dict; } $text = Printer::directLang($value["slang"], $value["tlang"]); if ( isset($value["name"]) ){ $text = Util::esc($value["name"]) . "({$text})"; } // 32bitPC対策 $arrOption = NULL; if ( $key >= (PHP_INT_SIZE * 8) ){ $arrOption = array( "disabled" => "disabled", ); } $arrHtml["dictionary"] .= Printer::checkbox(NULL, "q_qredit_dictionary[]", array($key => $text), $arrSelectDictionary, $arrOption, TRUE, FALSE ); } DAO::end($result); } //---------------------------- // data //---------------------------- //---------------------------- // html //---------------------------- { // title --------------------------------------------------------------- $title = "{$WORD($wk, 19)}"; // form ---------------------------------------------------------------- if ( $result === RES_OK ){ $arrControl = array(); $arrAction = array(); // フォーム(タイトル) $arrControl[] = array( "id" => NULL, "name" => "{$WORD($wk, 20)}", "form" => NULL, ); // フォーム(パスワード) $arrControl[] = array( "id" => "q_password", "name" => "{$WORD($wk, 21)}", "form" => array( Printer::input("password", "q_password", "q_password", "", NULL, array("placeholder" => "{$WORD($wk, 22)}")), ), ); // フォーム(パスワード(確認)) $arrControl[] = array( "id" => "q_password_re", "name" => "{$WORD($wk, 23)}", "form" => array( Printer::input("password", "q_password_re", "q_password_re", "", NULL, array("placeholder" => "{$WORD($wk, 24)}")), ), ); // フォーム(twitter) $arrControl[] = array( "id" => "q_twitter", "name" => "{$WORD($wk, 25)}", "form" => array( Printer::input("text", "q_twitter", "q_twitter", $qTwitter, NULL, array("placeholder" => "{$WORD($wk, 26)}")). "

{$WORD($wk, 27)}

", ), ); // フォーム(タイトルQRedit) $arrControl[] = array( "id" => NULL, "name" => "{$WORD($wk, 28)}", "form" => NULL, ); // フォーム(QRedit:辞書) $arrControl[] = array( "id" => "q_qredit_dictionary", "name" => "{$WORD($wk, 29)}", "form" => $arrHtml["dictionary"], ); // フォーム(QRedit:原文の位置) $arrControl[] = array( "id" => "q_qredit_display", "name" => "{$WORD($wk, 30)}", "form" => array( Printer::radio("q_qredit_display", "q_qredit_display", DAO::T_USER_QREDIT_DISPLAY_TABLE(), $qQreditDisplay), ), ); // フォーム(QRedit:原文の幅) $arrControl[] = array( "id" => "q_qredit_width", "name" => "{$WORD($wk, 31)}", "form" => array( Printer::select("q_qredit_width", "q_qredit_width", DAO::T_USER_QREDIT_WIDTH_TABLE(), $qQreditWidth), ), ); // フォーム(QRedit:同期スクロール) $arrControl[] = array( "id" => "q_qredit_scroll", "name" => "{$WORD($wk, 32)}", "form" => array( Printer::radio("q_qredit_scroll", "q_qredit_scroll", DAO::T_USER_QREDIT_SCROLL_TABLE(), $qQreditScroll), ), ); // フォーム(QRedit:訳語表示の位置) $arrControl[] = array( "id" => "q_qredit_lookup", "name" => "{$WORD($wk, 33)}", "form" => array( Printer::radio("q_qredit_lookup", "q_qredit_lookup", DAO::T_USER_QREDIT_LOOKUP_TABLE(), $qQreditLookup), ), ); // フォーム(QRedit:訳語表示のクリック) $arrControl[] = array( "id" => "q_qredit_action", "name" => "{$WORD($wk, 34)}", "form" => array( Printer::radio("q_qredit_action", "q_qredit_action", DAO::T_USER_QREDIT_ACTION_TABLE(), $qQreditAction), ), ); // フォーム(QRedit:タグ名の表示) $arrControl[] = array( "id" => "q_qredit_tag", "name" => "{$WORD($wk, 35)}", "form" => array( Printer::radio("q_qredit_tag", "q_qredit_tag", DAO::T_USER_QREDIT_TAG_TABLE(), $qQreditTag), ), ); // フォーム(id) $arrControl[] = array( "id" => NULL, "name" => NULL, "form" => Printer::input("hidden", "q_id", "q_id", $qID), ); // フォーム(token) $arrControl[] = array( "id" => NULL, "name" => NULL, "form" => Printer::input("hidden", "q_token", "q_token", Util::token()), ); // アクション(OK) $arrAction[] = Printer::input("submit", NULL, NULL, "OK", "btn btn-primary"); // アクション(キャンセル) $arrAction[] = Printer::link("Cancel", "btn btn-default", NULL, NULL, "/"); $arrHtml["form"] = Printer::form("form_setting_user", "form_setting_user", "./", "post", $arrControl, $arrAction); } else { $arrHtml["form"] = Printer::link("OK", "btn btn-default", NULL, NULL, "/"); } // result -------------------------------------------------------------- $arrHtml["result"] = $gResult->string(TRUE, $result); } ?>