예제 #1
0
파일: list.php 프로젝트: uzura8/flockbird
        ?>
</td>
	<td><?php 
        echo symbol_bool($profile->is_disp_regist);
        ?>
</td>
	<td><?php 
        echo symbol_bool($profile->is_disp_config);
        ?>
</td>
	<td><?php 
        echo symbol_bool($profile->is_disp_search);
        ?>
</td>
	<td><?php 
        if (in_array($profile->form_type, Site_Profile::get_form_types_having_profile_options())) {
            echo Html::anchor('admin/profile/options/' . $profile->id, term('site.list'));
        } else {
            echo symbol('noValue');
        }
        ?>
</td>
</tr>
<?php 
    }
    ?>
</table>
<?php 
} else {
    echo term('profile', 'site.item');
    ?>
예제 #2
0
 public static function get_validation_birthday()
 {
     $val = \Validation::forge('site_config_profile_birthday');
     $name_prefix = 'birthday';
     $name = self::get_name($name_prefix, 'isEnable');
     $value = self::get_values($name, 0);
     $options_enable = array('0' => '無効', '1' => '有効');
     $val->add($name, term('member.birthday') . '設定を有効にするか', array('type' => 'radio', 'options' => $options_enable, 'value' => $value))->add_rule('valid_string', 'numeric', 'required')->add_rule('in_array', array_keys($options_enable));
     $name = self::get_name($name_prefix, 'isDispRegist');
     $value = self::get_values($name, 1);
     $options_is_disp = array('1' => '表示する', '0' => '表示しない');
     $val->add($name, '新規登録', array('type' => 'radio', 'options' => $options_is_disp, 'value' => $value))->add_rule('valid_string', 'numeric', 'required')->add_rule('in_array', array_keys($options_is_disp));
     $name = self::get_name($name_prefix, 'isDispConfig');
     $value = self::get_values($name, 1);
     $val->add($name, 'プロフィール変更', array('type' => 'radio', 'options' => $options_is_disp, 'value' => $value))->add_rule('valid_string', 'numeric', 'required')->add_rule('in_array', array_keys($options_is_disp));
     $name = self::get_name($name_prefix, 'isDispSearch');
     $value = self::get_values($name, 1);
     $val->add($name, 'メンバー検索', array('type' => 'radio', 'options' => $options_is_disp, 'value' => $value))->add_rule('valid_string', 'numeric', 'required')->add_rule('in_array', array_keys($options_is_disp));
     $name_prefix = 'birthday_birthyear';
     $name = self::get_name($name_prefix, 'viewType');
     $value = self::get_values($name, 0);
     $options = array('0' => '生年表示', '1' => '年齢表示');
     $val->add($name, '生年表示タイプ', array('type' => 'radio', 'options' => $options, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options));
     $name = self::get_name($name_prefix, 'displayType');
     $value = self::get_values($name, 0);
     $options_display_type = \Site_Profile::get_display_type_options();
     $val->add($name, '表示場所(生年)', array('type' => 'select', 'options' => $options_display_type, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options_display_type));
     $name = self::get_name($name_prefix, 'isRequired');
     $value = self::get_values($name, 0);
     $options_is_required = array('1' => '');
     $val->add($name, '必須(生年)', array('type' => 'checkbox', 'options' => $options_is_required, 'value' => $value))->add_rule('checkbox_val', $options_is_required);
     $name_prefix .= '_publicFlag';
     $name = self::get_name($name_prefix, 'isEdit');
     $value = self::get_values($name, 0);
     $options_is_edit_public_flag = array('0' => '固定', '1' => 'メンバー選択');
     $val->add($name, '公開設定の選択(生年)', array('type' => 'radio', 'options' => $options_is_edit_public_flag, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options_is_edit_public_flag));
     $name = self::get_name($name_prefix, 'default');
     $atters = \Site_Form::get_public_flag_configs();
     $atters['value'] = self::get_values($name, conf('public_flag.default'));
     $val->add($name, '公開設定デフォルト値(生年)', $atters)->add_rule('valid_string', 'numeric')->add_rule('in_array', \Site_Util::get_public_flags());
     $name_prefix = 'birthday_birthday';
     $name = self::get_name($name_prefix, 'displayType');
     $value = self::get_values($name, 0);
     $options_display_type = \Site_Profile::get_display_type_options();
     $val->add($name, '表示場所(誕生日)', array('type' => 'select', 'options' => $options_display_type, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options_display_type));
     $name = self::get_name($name_prefix, 'isRequired');
     $value = self::get_values($name, 0);
     $options_is_required = array('1' => '');
     $val->add($name, '必須(誕生日)', array('type' => 'checkbox', 'options' => $options_is_required, 'value' => $value))->add_rule('checkbox_val', $options_is_required);
     $name_prefix .= '_publicFlag';
     $name = self::get_name($name_prefix, 'isEdit');
     $value = self::get_values($name, 0);
     $val->add($name, '公開設定の選択(誕生日)', array('type' => 'radio', 'options' => $options_is_edit_public_flag, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options_is_edit_public_flag));
     $name = self::get_name($name_prefix, 'default');
     $atters = \Site_Form::get_public_flag_configs();
     $atters['value'] = self::get_values($name, conf('public_flag.default'));
     $val->add($name, '公開設定デフォルト値(誕生日)', $atters)->add_rule('valid_string', 'numeric')->add_rule('in_array', \Site_Util::get_public_flags());
     if (conf('member.profile.birthday.use_generation_view')) {
         $name_prefix = 'birthday_generationView';
         $name = self::get_name($name_prefix, 'isEnable');
         $value = self::get_values($name, 0);
         $val->add($name, '年代表示を有効にするか', array('type' => 'radio', 'options' => $options_enable, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options_enable));
         $name = self::get_name($name_prefix, 'unit');
         $value = self::get_values($name, 0);
         $options = array('0' => '10年単位', '1' => '5年単位');
         $val->add($name, '年代区切り', array('type' => 'radio', 'options' => $options, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options));
         $name_prefix .= '_publicFlag';
         $name = self::get_name($name_prefix, 'isEdit');
         $value = self::get_values($name, 0);
         $val->add($name, '公開設定の選択(年代)', array('type' => 'radio', 'options' => $options_is_edit_public_flag, 'value' => $value))->add_rule('valid_string', 'numeric')->add_rule('in_array', array_keys($options_is_edit_public_flag));
         $name = self::get_name($name_prefix, 'default');
         $atters = \Site_Form::get_public_flag_configs();
         $atters['value'] = self::get_values($name, conf('public_flag.default'));
         $val->add($name, '公開設定デフォルト値(年代)', $atters)->add_rule('valid_string', 'numeric')->add_rule('in_array', \Site_Util::get_public_flags());
     }
     return $val;
 }
예제 #3
0
파일: api.php 프로젝트: uzura8/flockbird
 private function check_id_and_get_profile($profile_id)
 {
     if (!$profile_id || !($profile = \Model_Profile::check_authority($profile_id))) {
         throw new \HttpNotFoundException();
     }
     if (!in_array($profile->form_type, \Site_Profile::get_form_types_having_profile_options())) {
         throw new \HttpInvalidInputException();
     }
     return $profile;
 }
예제 #4
0
 /**
  * The edit_options action.
  * 
  * @access  public
  * @return  void
  */
 public function action_edit_options($id = null)
 {
     if (!$id || !($profile = \Model_Profile::find($id))) {
         throw new \HttpNotFoundException();
     }
     if (!in_array($profile->form_type, \Site_Profile::get_form_types_having_profile_options())) {
         throw new \HttpInvalidInputException();
     }
     $profile_options = \Model_ProfileOption::get4profile_id($id);
     $posted_vals = array();
     if (\Input::method() == 'POST') {
         try {
             \Util_security::check_csrf();
             $posted_vals = \Input::post('labels');
             if (count($posted_vals) != count($profile_options)) {
                 throw new \httpinvalidinputexception();
             }
             \DB::start_transaction();
             foreach ($profile_options as $profile_option) {
                 $value = $posted_vals[$profile_option->id];
                 if (!strlen($value)) {
                     throw new \httpinvalidinputexception('未入力の項目があります。');
                 }
                 if ($value !== $profile_option->label) {
                     $profile_option->label = $value;
                     $profile_option->save();
                 }
             }
             \DB::commit_transaction();
             \Session::set_flash('message', term('profile', 'form.choices') . 'を編集しました。');
             \Response::redirect('admin/profile/options/' . $profile->id);
         } catch (\FuelException $e) {
             if (\DB::in_transaction()) {
                 \DB::rollback_transaction();
             }
             \Session::set_flash('error', $e->getMessage());
         }
     }
     $vals = array();
     foreach ($profile_options as $profile_option) {
         $vals[$profile_option->id] = isset($posted_vals[$profile_option->id]) ? $posted_vals[$profile_option->id] : $profile_option->label;
     }
     $this->set_title_and_breadcrumbs(sprintf('%s %s: %s', term('profile'), term('form.edit'), $profile->caption));
     $this->template->content = \View::forge('profile/edit_options', array('profile' => $profile, 'vals' => $vals, 'profile_options' => $profile_options));
 }