questlab/controllers/CharactergroupsController.inc

785 lines
32 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Questlab
*
* @author Oliver Hanraths <oliver.hanraths@uni-duesseldorf.de>
* @copyright 2014 2016 Heinrich-Heine-Universität Düsseldorf
* @license http://www.gnu.org/licenses/gpl.html
* @link https://github.com/coderkun/questlab
*/
namespace hhu\z\controllers;
/**
* Controller of the CharactergroupsAgent to display Character groups.
*
* @author Oliver Hanraths <oliver.hanraths@uni-duesseldorf.de>
*/
class CharactergroupsController extends \hhu\z\controllers\SeminaryController
{
/**
* Required models
*
* @var array
*/
public $models = array('seminaries', 'charactergroups', 'charactergroupsquests', 'charactergroupsachievements', 'characters', 'avatars', 'charactertitles', 'media');
/**
* Required components
*
* @var array
*/
public $components = array('validation');
/**
* User permissions
*
* @var array
*/
public $permissions = array(
'index' => array('admin', 'moderator', 'user'),
'groupsgroup' => array('admin', 'moderator', 'user'),
'creategroupsgroup' => array('admin', 'moderator', 'user'),
'editgroupsgroup' => array('admin', 'moderator', 'user'),
'deletegroupsgroup' => array('admin', 'moderator', 'user'),
'group' => array('admin', 'moderator', 'user'),
'managegroup' => array('admin', 'moderator', 'user'),
'creategroup' => array('admin', 'moderator', 'user'),
'editgroup' => array('admin', 'moderator', 'user'),
'deletegroup' => array('admin', 'moderator', 'user')
);
/**
* User seminary permissions
*
* @var array
*/
public $seminaryPermissions = array(
'index' => array('admin', 'moderator', 'user'),
'groupsgroup' => array('admin', 'moderator', 'user'),
'creategroupsgroup' => array('admin', 'moderator'),
'editgroupsgroup' => array('admin', 'moderator'),
'deletegroupsgroup' => array('admin', 'moderator'),
'group' => array('admin', 'moderator', 'user'),
'managegroup' => array('admin', 'moderator'),
'creategroup' => array('admin', 'moderator'),
'editgroup' => array('admin', 'moderator', 'user'),
'deletegroup' => array('admin', 'moderator')
);
/**
* Action: index.
*
* Show Character groups-groups for a Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
*/
public function index($seminaryUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-groups
$groupsgroups = $this->Charactergroups->getGroupsroupsForSeminary($seminary['id']);
// Set titile
$this->addTitleLocalized('Character Groups');
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroups', $groupsgroups);
}
/**
* Action: groupsgroups.
*
* Show Character groups for a Character groups-group of a
* Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
*/
public function groupsgroup($seminaryUrl, $groupsgroupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Get Character groups
$groups = $this->Charactergroups->getGroupsForGroupsgroup($groupsgroup['id'], 'xps');
// Get Character groups-group Quests
$quests = $this->Charactergroupsquests->getQuestsForCharactergroupsgroup($groupsgroup['id']);
// Get Achievements
$achievements = array();
if(count(array_intersect(array('admin', 'moderator'), \hhu\z\controllers\SeminaryController::$character['characterroles'])) > 0) {
$achievements = $this->Charactergroupsachievements->getAchievementsForCharactergroupsgroup(
$groupsgroup['id']
);
}
// Set titile
$this->addTitle($groupsgroup['name']);
$this->addTitleLocalized('Character Groups');
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroup', $groupsgroup);
$this->set('groups', $groups);
$this->set('quests', $quests);
$this->set('achievements', $achievements);
}
/**
* Action: creategroupsgroups.
*
* Create a new Character groups-group for a Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
*/
public function creategroupsgroup($seminaryUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Values
$charactergroupsgroupname = '';
$preferred = false;
$fields = array('charactergroupsgroupname');
$validation = array();
// Create a new Character groups-group
if($this->request->getRequestMethod() == 'POST' && !is_null($this->request->getPostParam('create')))
{
// Get params and validate them
$validation = $this->Validation->validateParams($this->request->getPostParams(), $fields);
$charactergroupsgroupname = $this->request->getPostParam('charactergroupsgroupname');
if($this->Charactergroups->characterGroupsgroupNameExists($seminary['id'], $charactergroupsgroupname)) {
$validation = $this->Validation->addValidationResult($validation, 'charactergroupsgroupname', 'exist', true);
}
$preferred = !is_null($this->request->getPostParam('preferred'));
// Create groups-group
if($validation === true)
{
$groupsgroupId = $this->Charactergroups->createGroupsgroup(
$this->Auth->getUserId(),
$seminary['id'],
$charactergroupsgroupname,
$preferred
);
// Redirect to groups-group page
$groupsgroup = $this->Charactergroups->getGroupsgroupById($groupsgroupId);
$this->redirect($this->linker->link(array('groupsgroup', $seminary['url'], $groupsgroup['url']), 1));
}
}
// Get validation settings
$validationSettings = array();
foreach($fields as &$field) {
$validationSettings[$field] = \nre\configs\AppConfig::$validation[$field];
}
// Set titile
$this->addTitleLocalized('New Character groups-group');
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('charactergroupsgroupname', $charactergroupsgroupname);
$this->set('preferred', $preferred);
$this->set('validation', $validation);
$this->set('validationSettings', $validationSettings);
}
/**
* Action: editgroupsgroups.
*
* Edit a Character groups-group of a Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
*/
public function editgroupsgroup($seminaryUrl, $groupsgroupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Values
$charactergroupsgroupname = $groupsgroup['name'];
$preferred = $groupsgroup['preferred'];
$fields = array('charactergroupsgroupname');
$validation = array();
// Edit Character groups-group
if($this->request->getRequestMethod() == 'POST' && !is_null($this->request->getPostParam('edit')))
{
// Get params and validate them
$validation = $this->Validation->validateParams($this->request->getPostParams(), $fields);
$charactergroupsgroupname = $this->request->getPostParam('charactergroupsgroupname');
if($this->Charactergroups->characterGroupsgroupNameExists($charactergroupsgroupname, $groupsgroup['id'])) {
$validation = $this->Validation->addValidationResult($validation, 'charactergroupsgroupname', 'exist', true);
}
$preferred = !is_null($this->request->getPostParam('preferred'));
// Edit groups-group
if($validation === true)
{
$this->Charactergroups->editGroupsgroup(
$groupsgroup['id'],
$charactergroupsgroupname,
$preferred
);
// Redirect to user page
$groupsgroup = $this->Charactergroups->getGroupsgroupById($groupsgroup['id']);
$this->redirect($this->linker->link(array('groupsgroup', $seminary['url'], $groupsgroup['url']), 1));
}
}
// Get validation settings
$validationSettings = array();
foreach($fields as &$field) {
$validationSettings[$field] = \nre\configs\AppConfig::$validation[$field];
}
// Set titile
$this->addTitleLocalized('Edit Character groups-group');
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('charactergroupsgroupname', $charactergroupsgroupname);
$this->set('preferred', $preferred);
$this->set('validation', $validation);
$this->set('validationSettings', $validationSettings);
}
/**
* Action: deletegroupsgroups.
*
* Delete a Character groups-group of a Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
*/
public function deletegroupsgroup($seminaryUrl, $groupsgroupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Check request method
if($this->request->getRequestMethod() == 'POST')
{
// Check confirmation
if(!is_null($this->request->getPostParam('delete')))
{
// Delete seminary
$this->Charactergroups->deleteGroupsgroup($groupsgroup['id']);
// Redirect to overview
$this->redirect($this->linker->link(array('index', $seminary['url']), 1));
}
// Redirect to entry
$this->redirect($this->linker->link(array('groupsgroup', $seminary['url'], $groupsgroup['url']), 1));
}
// Set titile
$this->addTitleLocalized('Delete Character groups-group');
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroup', $groupsgroup);
}
/**
* Action: group.
*
* Show a Character group for a Character groups-group of a
* Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
* @param string $groupUrl URL-Title of a Character group
*/
public function group($seminaryUrl, $groupsgroupUrl, $groupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Get Character group
$group = $this->Charactergroups->getGroupByUrl($groupsgroup['id'], $groupUrl);
$group['characters'] = $this->Characters->getCharactersForGroup($group['id']);
$group['rank'] = $this->Charactergroups->getXPRank($groupsgroup['id'], $group['xps']);
// Get Character avatars and titles
foreach($group['characters'] as &$character)
{
// Avatar
$avatar = $this->Avatars->getAvatarById($character['avatar_id']);
if(!is_null($avatar['small_avatarpicture_id'])) {
$character['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']);
}
// Title
if(!is_null($character['charactertitle_id']) && !is_null($character['gender']))
{
$title = $this->Charactertitles->getTitleById($character['charactertitle_id']);
$character['title'] = $title[($character['gender']) ? 'title_male' : 'title_female'];
}
}
// Get Character groups Quests
$quests = $this->Charactergroupsquests->getQuestsForGroup($group['id']);
// Get Achievements
$achievements = $this->Charactergroupsachievements->getAchievedAchievementsForGroup(
$group['id']
);
// Set titile
$this->addTitle($group['name']);
$this->addTitle($groupsgroup['name']);
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroup', $groupsgroup);
$this->set('group', $group);
$this->set('quests', $quests);
$this->set('achievements', $achievements);
}
/**
* Action: managegroup.
*
* Manage a Character group for a Character groups-group of a
* Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
* @param string $groupUrl URL-Title of a Character group
*/
public function managegroup($seminaryUrl, $groupsgroupUrl, $groupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Get Character group
$group = $this->Charactergroups->getGroupByUrl($groupsgroup['id'], $groupUrl);
// Manage
if($this->request->getRequestMethod() == 'POST' && !is_null($this->request->getPostParam('actions')) && count($this->request->getPostParam('actions')) > 0) // && !is_null($this->request->getPostParam('characters')) && count($this->request->getPostParam('characters')) > 0)
{
$actions = $this->request->getPostParam('actions');
$action = array_keys($actions)[0];
$selectedCharacters = $this->request->getPostParam('characters');
switch($action)
{
// Add Characters to group
case 'addcharacters':
foreach($selectedCharacters as &$characterId)
{
$this->Charactergroups->addCharacterToCharactergroup($group['id'], $characterId);
// Check Achievements
$this->Achievement->checkAchievements($seminary['id'], $characterId, array('character', 'achievement'));
}
break;
// Remove Characters from group
case 'removecharacters':
foreach($selectedCharacters as &$characterId) {
$this->Charactergroups->removeCharacterFromCharactergroup($group['id'], $characterId);
}
break;
}
}
// Get additional data for group
$group['characters'] = $this->Characters->getCharactersForGroup($group['id']);
$group['rank'] = $this->Charactergroups->getXPRank($groupsgroup['id'], $group['xps']);
// Get Character avatars
foreach($group['characters'] as &$character)
{
$avatar = $this->Avatars->getAvatarById($character['avatar_id']);
if(!is_null($avatar['small_avatarpicture_id'])) {
$character['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']);
}
}
// Get Character groups Quests
$quests = $this->Charactergroupsquests->getQuestsForGroup($group['id']);
// Get all Characters of Seminary
$groupCharacterIds = array_map(function($c) { return $c['id']; }, $group['characters']);
$seminaryCharacters = $this->Characters->getCharactersForSeminary($seminary['id'], true);
$characters = array();
foreach($seminaryCharacters as &$character) {
if(!in_array($character['id'], $groupCharacterIds)) {
$characters[] = $character;
}
}
// Set titile
$this->addTitle($group['name']);
$this->addTitle($groupsgroup['name']);
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroup', $groupsgroup);
$this->set('group', $group);
$this->set('quests', $quests);
$this->set('characters', $characters);
}
/**
* Action: creategroup.
*
* Create a Character group for a Character groups-group of a
* Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
*/
public function creategroup($seminaryUrl, $groupsgroupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Get allowed mimetypes
$mimetypes = \nre\configs\AppConfig::$mimetypes['icons'];
// Values
$charactergroupname = '';
$motto = '';
$fields = array('charactergroupname', 'motto');
$validation = array();
// Create a new Character groups-group
if($this->request->getRequestMethod() == 'POST' && !is_null($this->request->getPostParam('create')))
{
// Get params and validate them
$validation = $this->Validation->validateParams($this->request->getPostParams(), $fields);
$charactergroupname = $this->request->getPostParam('charactergroupname');
if($this->Charactergroups->characterGroupNameExists($groupsgroup['id'], $charactergroupname)) {
$validation = $this->Validation->addValidationResult($validation, 'charactergroupname', 'exist', true);
}
$motto = $this->request->getPostParam('motto');
// Validate icon
$icon = null;
if(!empty($_FILES) && array_key_exists('icon', $_FILES) && $_FILES['icon']['error'] != UPLOAD_ERR_NO_FILE)
{
$icon = $_FILES['icon'];
// Check error
if($icon['error'] !== UPLOAD_ERR_OK) {
$validation = $this->Validation->addValidationResult($validation, 'icon', 'error', $icon['error']);
}
// Check mimetype
$mediaMimetype = null;
$icon['mimetype'] = \hhu\z\Utils::getMimetype($icon['tmp_name'], $icon['type']);
foreach($mimetypes as &$mimetype) {
if($mimetype['mimetype'] == $icon['mimetype']) {
$mediaMimetype = $mimetype;
break;
}
}
if(is_null($mediaMimetype)) {
$validation = $this->Validation->addValidationResult($validation, 'icon', 'mimetype', $icon['mimetype']);
}
elseif($icon['size'] > $mediaMimetype['size']) {
$validation = $this->Validation->addValidationResult($validation, 'icon', 'size', $mediaMimetype['size']);
}
}
// Create group
if($validation === true)
{
$groupId = $this->Charactergroups->createGroup(
$this->Auth->getUserId(),
$groupsgroup['id'],
$charactergroupname,
$motto
);
$group = $this->Charactergroups->getGroupById($groupId);
// Upload icon
if(!is_null($icon))
{
$mediaId = $this->Media->createCharactergroupMedia(
$this->Auth->getUserId(),
$seminary['id'],
sprintf('charactergroup-%s', $group['url']),
'',
$icon['mimetype'],
$icon['tmp_name']
);
if($mediaId !== false) {
$this->Charactergroups->setMediaForGroup($group['id'], $mediaId);
}
}
// Redirect to group page
$this->redirect($this->linker->link(array('group', $seminary['url'], $groupsgroup['url'], $group['url']), 1));
}
}
// Get validation settings
$validationSettings = array();
foreach($fields as &$field) {
$validationSettings[$field] = \nre\configs\AppConfig::$validation[$field];
}
// Set title
$this->addTitleLocalized('New %s Character group', $groupsgroup['name']);
$this->addTitle($groupsgroup['name']);
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroup', $groupsgroup);
$this->set('charactergroupname', $charactergroupname);
$this->set('motto', $motto);
$this->set('mimetypes', $mimetypes);
$this->set('validation', $validation);
$this->set('validationSettings', $validationSettings);
}
/**
* Action: editgroup.
*
* Edit a Character group for a Character groups-group of a
* Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
* @param string $groupUrl URL-Title of a Character group
*/
public function editgroup($seminaryUrl, $groupsgroupUrl, $groupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Get Character group
$group = $this->Charactergroups->getGroupByUrl($groupsgroup['id'], $groupUrl);
$group['characters'] = $this->Characters->getCharactersForGroup($group['id']);
// Check permission
if(count(array_intersect(array('admin', 'moderator'), \hhu\z\controllers\SeminaryController::$character['characterroles'])) == 0 && !in_array(\hhu\z\controllers\SeminaryController::$character['id'], array_map(function($c) { return $c['id']; }, $group['characters']))) {
throw new \nre\exceptions\AccessDeniedException();
}
// Get allowed mimetypes
$mimetypes = \nre\configs\AppConfig::$mimetypes['icons'];
// Values
$charactergroupname = $group['name'];
$motto = $group['motto'];
$fields = array('charactergroupname', 'motto');
$validation = array();
// Edit Character group
if($this->request->getRequestMethod() == 'POST' && !is_null($this->request->getPostParam('edit')))
{
// Get params and validate them
$validation = $this->Validation->validateParams($this->request->getPostParams(), $fields);
$charactergroupname = (count(array_intersect(array('admin','moderator'), \hhu\z\controllers\SeminaryController::$character['characterroles'])) > 0) ? $this->request->getPostParam('charactergroupname') : $group['name'];
if($this->Charactergroups->characterGroupNameExists($groupsgroup['id'], $charactergroupname, $group['id'])) {
$validation = $this->Validation->addValidationResult($validation, 'charactergroupname', 'exist', true);
}
$motto = $this->request->getPostParam('motto');
// Validate icon
$icon = null;
if(!empty($_FILES) && array_key_exists('icon', $_FILES) && $_FILES['icon']['error'] != UPLOAD_ERR_NO_FILE)
{
$icon = $_FILES['icon'];
// Check error
if($icon['error'] !== UPLOAD_ERR_OK) {
$validation = $this->Validation->addValidationResult($validation, 'icon', 'error', $icon['error']);
}
// Check mimetype
$mediaMimetype = null;
$icon['mimetype'] = \hhu\z\Utils::getMimetype($icon['tmp_name'], $icon['type']);
foreach($mimetypes as &$mimetype) {
if($mimetype['mimetype'] == $icon['mimetype']) {
$mediaMimetype = $mimetype;
break;
}
}
if(is_null($mediaMimetype)) {
$validation = $this->Validation->addValidationResult($validation, 'icon', 'mimetype', $icon['mimetype']);
}
elseif($icon['size'] > $mediaMimetype['size']) {
$validation = $this->Validation->addValidationResult($validation, 'icon', 'size', $mediaMimetype['size']);
}
}
// Edit group
if($validation === true)
{
$this->Charactergroups->editGroup(
$group['id'],
$charactergroupname,
$motto
);
$group = $this->Charactergroups->getGroupById($group['id']);
// Upload icon
if(!is_null($icon))
{
$mediaId = $this->Media->createCharactergroupMedia(
$this->Auth->getUserId(),
$seminary['id'],
sprintf('charactergroup-%s', $group['url']),
'',
$icon['mimetype'],
$icon['tmp_name']
);
if($mediaId !== false) {
$this->Charactergroups->setMediaForGroup($group['id'], $mediaId);
}
}
// Redirect to user page
$this->redirect($this->linker->link(array('group', $seminary['url'], $groupsgroup['url'], $group['url']), 1));
}
}
// Get validation settings
$validationSettings = array();
foreach($fields as &$field) {
$validationSettings[$field] = \nre\configs\AppConfig::$validation[$field];
}
// Set title
$this->addTitleLocalized('Edit %s Character group', $groupsgroup['name']);
$this->addTitle($groupsgroup['name']);
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroup', $groupsgroup);
$this->set('group', $group);
$this->set('charactergroupname', $charactergroupname);
$this->set('motto', $motto);
$this->set('mimetypes', $mimetypes);
$this->set('validation', $validation);
$this->set('validationSettings', $validationSettings);
}
/**
* Action: deletegroup.
*
* Delete a Character group for a Character groups-group of a
* Seminary.
*
* @throws \nre\exceptions\IdNotFoundException
* @param string $seminaryUrl URL-Title of a Seminary
* @param string $groupsgroupUrl URL-Title of a Character groups-group
* @param string $groupUrl URL-Title of a Character group
*/
public function deletegroup($seminaryUrl, $groupsgroupUrl, $groupUrl)
{
// Get seminary
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
// Get Character groups-group
$groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl);
// Get Character group
$group = $this->Charactergroups->getGroupByUrl($groupsgroup['id'], $groupUrl);
// Check request method
if($this->request->getRequestMethod() == 'POST')
{
// Check confirmation
if(!is_null($this->request->getPostParam('delete')))
{
// Delete seminary
$this->Charactergroups->deleteGroup($group['id']);
// Redirect to overview
$this->redirect($this->linker->link(array('groupsgroup', $seminary['url'], $groupsgroup['url']), 1));
}
// Redirect to entry
$this->redirect($this->linker->link(array('group', $seminary['url'], $groupsgroup['url'], $group['url']), 1));
}
// Set title
$this->addTitleLocalized('Delete %s Character group', $groupsgroup['name']);
$this->addTitle($groupsgroup['name']);
$this->addTitle($seminary['title']);
// Pass data to view
$this->set('seminary', $seminary);
$this->set('groupsgroup', $groupsgroup);
$this->set('group', $group);
}
}
?>