本文整理汇总了PHP中app\Board::canEditConfig方法的典型用法代码示例。如果您正苦于以下问题:PHP Board::canEditConfig方法的具体用法?PHP Board::canEditConfig怎么用?PHP Board::canEditConfig使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Board
的用法示例。
在下文中一共展示了Board::canEditConfig方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: putAdd
/**
* Adds new staff.
*
* @return Response
*/
public function putAdd(Board $board)
{
if (!$board->canEditConfig($this->user)) {
return abort(403);
}
$createUser = false;
$roles = $this->user->getAssignableRoles($board);
$rules = [];
$existing = Input::get('staff-source') == "existing";
if ($existing) {
$rules = ['existinguser' => ["required", "string", "exists:users,username"], 'captcha' => ["required", "captcha"]];
$input = Input::only('existinguser', 'captcha');
$validator = Validator::make($input, $rules);
} else {
$createUser = true;
$validator = $this->registrationValidator();
}
$castes = $roles->pluck('role_id');
$casteRules = ['castes' => ["required", "array"]];
$casteInput = Input::only('castes');
$casteValidator = Validator::make($casteInput, $casteRules);
$casteValidator->each('castes', ["in:" . $castes->implode(",")]);
if ($validator->fails()) {
return redirect()->back()->withInput()->withErrors($validator->errors());
} else {
if ($casteValidator->fails()) {
return redirect()->back()->withInput()->withErrors($casteValidator->errors());
} else {
if ($createUser) {
$user = $this->registrar->create(Input::all());
} else {
$user = User::whereUsername(Input::only('existinguser'))->firstOrFail();
}
}
}
$user->roles()->detach($roles->pluck('role_id')->toArray());
$user->roles()->attach($casteInput['castes']);
Event::fire(new UserRolesModified($user));
return redirect("/cp/board/{$board->board_uri}/staff");
}
示例2: getStaff
/**
* List all staff members to the user.
*
* @return Response
*/
public function getStaff(Board $board)
{
if (!$board->canEditConfig($this->user)) {
return abort(403);
}
$roles = $board->roles;
$staff = $board->getStaff();
return $this->view(static::VIEW_STAFF, ['board' => $board, 'roles' => $roles, 'staff' => $staff, 'tab' => "staff"]);
}
示例3: putTags
/**
* Put tags.
*
* @return Response
*/
public function putTags(Board $board)
{
if (!$board->canEditConfig($this->user)) {
return abort(403);
}
$input = Input::all();
$rules = ['boardTags' => ["array", "min:0", "max:5"]];
if (isset($input['boardTags']) && is_array($input['boardTags'])) {
$input['boardTags'] = array_filter($input['boardTags']);
}
$validator = Validator::make($input, $rules);
$validator->each('boardTags', ['string', 'alpha_dash', 'max:24']);
if (!$validator->passes()) {
return redirect()->back()->withErrors($validator->errors());
}
$tags = [];
$tagArray = [];
foreach ($input['boardTags'] as $boardTag) {
$boardTag = (string) $boardTag;
if (strlen($boardTag) && !isset($tagArray[$boardTag])) {
// Add the tag to the list of set tags to prevent duplicates.
$tagArray[$boardTag] = true;
// Find or create the board tag.
$tags[] = BoardTag::firstorCreate(['tag' => $boardTag]);
}
}
$board->tags()->detach();
if (count($tags)) {
$tags = $board->tags()->saveMany($tags);
}
Event::fire(new BoardWasModified($board));
return $this->view(static::VIEW_TAGS, ['board' => $board, 'tags' => array_keys($tagArray), 'tab' => "tags"]);
}
示例4: authorize
/**
* Determines if the client has access to this form.
*
* @return boolean
*/
public function authorize()
{
return $this->board->canEditConfig($this->user);
}
示例5: getConfig
/**
* Show the application dashboard to the user.
*
* @return Response
*/
public function getConfig(Request $request, Board $board)
{
if (!$board->canEditConfig($this->user)) {
return abort(403);
}
$optionGroups = OptionGroup::getBoardConfig($board);
return $this->view(static::VIEW_CONFIG, ['board' => $board, 'groups' => $optionGroups, 'tab' => "basic"]);
}