hide map for Character groups Quest Stations when there are no stations

This commit is contained in:
oliver 2016-04-09 13:44:37 +02:00
commit df14dfafc3
4371 changed files with 1220224 additions and 0 deletions

View file

@ -0,0 +1,99 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<ul class="breadcrumbs">
<li><a href="<?=$linker->link('index',1)?>"><?=_('Users')?></a></li>
</ul>
<h1><?=_('New user')?></h1>
<?php if($validation !== true && !empty($validation)) : ?>
<ul class="validation">
<?php foreach($validation as $field => &$settings) : ?>
<li>
<ul>
<?php foreach($settings as $setting => $value) : ?>
<li>
<?php switch($field) {
case 'username':
switch($setting) {
case 'minlength': printf(_('Username is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Username is too long (max. %d chars)'), $value);
break;
case 'regex': echo _('Username contains illegal characters');
break;
case 'exist': echo _('Username already exists');
break;
default: echo _('Username invalid');
}
break;
case 'prename':
switch($setting) {
case 'minlength': printf(_('Prename is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Prename is too long (max. %d chars)'), $value);
break;
case 'regex': printf(_('Prename contains illegal characters'));
break;
default: echo _('Prename invalid');
}
break;
case 'surname':
switch($setting) {
case 'minlength': printf(_('Surname is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Surname is too long (max. %d chars)'), $value);
break;
case 'regex': printf(_('Surname contains illegal characters'));
break;
default: echo _('Surname invalid');
}
break;
case 'email':
switch($setting) {
case 'regex': echo _('Email address invalid');
break;
case 'exist': echo _('Email address already exists');
break;
default: echo _('Email address invalid');
}
break;
case 'password':
switch($setting) {
case 'minlength': printf(_('Password is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Password is too long (max. %d chars)'), $value);
break;
case 'repeat': printf(_('Passwords does not match'));
break;
default: echo _('Password invalid');
}
break;
default:
echo $exception->getMessage();
break;
} ?>
</li>
<?php endforeach ?>
</ul>
</li>
<?php endforeach ?>
</ul>
<?php endif ?>
<form method="post" class="logreg">
<fieldset>
<label for="username"><?=_('Username')?>:</label>
<input name="username" type="text" placeholder="<?=_('Username')?>" title="<?=_('Username')?>" required="required" maxlength="<?=$validationSettings['username']['maxlength']?>" value="<?=$username?>" <?=(array_key_exists('username', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="prename"><?=_('Prename')?>:</label>
<input name="prename" type="text" placeholder="<?=_('Prename')?>" title="<?=_('Prename')?>" required="required" maxlength="<?=$validationSettings['prename']['maxlength']?>" value="<?=$prename?>" <?=(array_key_exists('prename', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="surname"><?=_('Surname')?>:</label>
<input name="surname" type="text" placeholder="<?=_('Surname')?>" title="<?=_('Surname')?>" required="required" maxlength="<?=$validationSettings['surname']['maxlength']?>" value="<?=$surname?>" <?=(array_key_exists('surname', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="email"><?=_('Email address')?>:</label>
<input name="email" type="email" placeholder="<?=_('Email address')?>" title="<?=_('Email address')?>" required="required" value="<?=$email?>" <?=(array_key_exists('email', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="password"><?=_('Password')?>:</label>
<input name="password" type="password" placeholder="<?=_('Password')?>" title="<?=_('Password')?>" required="required" maxlength="<?=$validationSettings['password']['maxlength']?>" <?=(array_key_exists('password', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="passwordrepeat"><?=_('Repeat password')?>:</label>
<input name="passwordrepeat" type="password" placeholder="<?=_('Password')?>" title="<?=_('Password')?>" required="required" maxlength="<?=$validationSettings['password']['maxlength']?>" <?=(array_key_exists('password', $validation)) ? 'class="invalid"' : null?> /><br />
</fieldset>
<input type="submit" name="create" value="<?=_('create')?>" />
</form>

View file

@ -0,0 +1,13 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<ul class="breadcrumbs">
<li><a href="<?=$linker->link('index',1)?>"><?=_('Users')?></a></li>
</ul>
<h1><?=_('Delete user')?></h1>
<?=sprintf(_('Should the user “%s” (%s) really be deleted?'), $user['username'], $user['email'])?>
<form method="post">
<input type="submit" name="delete" value="<?=_('delete')?>" />
<input type="submit" name="not-delete" value="<?=_('cancel')?>" />
</form>

110
views/html/users/edit.tpl Normal file
View file

@ -0,0 +1,110 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<ul class="breadcrumbs">
<?php if(count(array_intersect(array('admin','moderator'),\hhu\z\controllers\IntermediateController::$user['roles'])) > 0) : ?>
<li><a href="<?=$linker->link('index',1)?>"><?=_('Users')?></a></li>
<?php else : ?>
<li><?=_('Users')?></li>
<?php endif ?>
</ul>
<h1><?=_('Edit user')?></h1>
<?php if($validation !== true && !empty($validation)) : ?>
<ul class="validation">
<?php foreach($validation as $field => &$settings) : ?>
<li>
<ul>
<?php foreach($settings as $setting => $value) : ?>
<li>
<?php switch($field) {
case 'username':
switch($setting) {
case 'minlength': printf(_('Username is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Username is too long (max. %d chars)'), $value);
break;
case 'regex': echo _('Username contains illegal characters');
break;
case 'exist': echo _('Username already exists');
break;
default: echo _('Username invalid');
}
break;
case 'prename':
switch($setting) {
case 'minlength': printf(_('Prename is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Prename is too long (max. %d chars)'), $value);
break;
case 'regex': printf(_('Prename contains illegal characters'));
break;
default: echo _('Prename invalid');
}
break;
case 'surname':
switch($setting) {
case 'minlength': printf(_('Surname is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Surname is too long (max. %d chars)'), $value);
break;
case 'regex': printf(_('Surname contains illegal characters'));
break;
default: echo _('Surname invalid');
}
break;
case 'email':
switch($setting) {
case 'regex': echo _('Email address invalid');
break;
case 'exist': echo _('Email address already exists');
break;
default: echo _('Email address invalid');
}
break;
case 'password':
switch($setting) {
case 'minlength': printf(_('Password is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Password is too long (max. %d chars)'), $value);
break;
case 'repeat': printf(_('Passwords does not match'));
break;
default: echo _('Password invalid');
}
break;
default:
echo $exception->getMessage();
break;
} ?>
</li>
<?php endforeach ?>
</ul>
</li>
<?php endforeach ?>
</ul>
<?php endif ?>
<form method="post" class="logreg">
<fieldset>
<label for="username"><?=_('Username')?>:</label>
<?php if(count(array_intersect(array('admin','moderator'),\hhu\z\controllers\IntermediateController::$user['roles'])) > 0) : ?>
<input name="username" type="text" placeholder="<?=_('Username')?>" title="<?=_('Username')?>" value="<?=$username?>" required="required" maxlength="<?=$validationSettings['username']['maxlength']?>" <?=(array_key_exists('username', $validation)) ? 'class="invalid"' : null ?> />
<?php else : ?>
<input name="username" type="text" placeholder="<?=_('Username')?>" title="<?=_('Username')?>" value="<?=$username?>" disabled="disabled" />
<input type="hidden" name="username" value="<?=$username?>" />
<?php endif ?><br />
<label for="prename"><?=_('Prename')?>:</label>
<input name="prename" type="text" placeholder="<?=_('Prename')?>" title="<?=_('Prename')?>" required="required" maxlength="<?=$validationSettings['prename']['maxlength']?>" value="<?=$prename?>" <?=(array_key_exists('prename', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="surname"><?=_('Surname')?>:</label>
<input name="surname" type="text" placeholder="<?=_('Surname')?>" title="<?=_('Surname')?>" required="required" maxlength="<?=$validationSettings['surname']['maxlength']?>" value="<?=$surname?>" <?=(array_key_exists('surname', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="email"><?=_('Email address')?>:</label>
<input name="email" type="email" placeholder="<?=_('Email address')?>" title="<?=_('Email address')?>" required="required" value="<?=$email?>" <?=(array_key_exists('email', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="password"><?=_('Password')?>:</label>
<input name="password" type="password" placeholder="<?=_('Password')?>" title="<?=_('Password')?>" maxlength="<?=$validationSettings['password']['maxlength']?>" <?=(array_key_exists('password', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="passwordrepeat"><?=_('Repeat password')?>:</label>
<input name="passwordrepeat" type="password" placeholder="<?=_('Password')?>" title="<?=_('Password')?>" required="required" maxlength="<?=$validationSettings['password']['maxlength']?>" <?=(array_key_exists('password', $validation)) ? 'class="invalid"' : null?> /><br />
<input id="mailing" type="checkbox" name="mailing" <?php if($mailing) : ?>checked="checked"<?php endif ?> />
<label for="mailing"><?=_('Mail notifications')?></label>
</fieldset>
<input type="submit" name="save" value="<?=_('save')?>" />
</form>

View file

@ -0,0 +1,95 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<h1><?=_('Users')?></h1>
<nav class="admin">
<li><a href="<?=$linker->link('create', 1)?>"><?=_('Create new user')?></a></li>
<li><a href="<?=$linker->link('manage',1)?>"><?=_('Manage')?></a></li>
</nav>
<form method="get" class="logreg admnqf">
<fieldset>
<legend><?=_('Filters')?></legend>
<small><?=_('Sortorder')?>:</small>
<select name="sortorder" onchange="this.form.submit();">
<option value="username" <?php if($sortorder == 'username') : ?>selected="selected"<?php endif ?>><?=_('Username')?></option>
<option value="role" <?php if($sortorder == 'role') : ?>selected="selected"<?php endif ?>><?=_('Role')?></option>
<option value="created" <?php if($sortorder == 'created') : ?>selected="selected"<?php endif ?>><?=_('Date of registration')?></option>
</select>
<label for="username"><?=_('Username')?>:</label>
<input id="username" type="text" name="username" placeholder="<?=_('Username')?>" value="<?=$username?>" />
<label for="name"><?=_('Name')?>:</label>
<input id="name" type="text" name="name" placeholder="<?=_('Name')?>" value="<?=$name?>" />
<label for="email"><?=_('Email address')?>:</label>
<input id="email" type="text" name="email" placeholder="<?=_('Email address')?>" value="<?=$email?>" />
</fieldset>
<input type="submit" value="<?=_('Apply filters')?>" />
</form>
<ol id="userlist" class="cglist">
<?php foreach($users as &$user) : ?>
<li>
<p>
<a href="<?=$linker->link(array('user', $user['username']), 1)?>"><?=$user['username']?></a><span class="xp"><small><?=sprintf(_('registered on %s'), $dateFormatter->format(new \DateTime($user['created'])))?></small></span>
<?php if(in_array('admin', $user['roles'])) : ?><small>(<?=_('Admin')?>)</small><?php endif ?>
<?php if(in_array('moderator', $user['roles'])) : ?><small>(<?=_('Moderator')?>)</small><?php endif ?>
<?php if(in_array('user', $user['roles'])) : ?><small>(<?=_('User')?>)</small><?php endif ?>
<br />
<small>
<?=$user['prename']?> <?=$user['surname']?>,
<a href="mailto:<?=$user['email']?>"><?=$user['email']?></a>
</small>
</p>
</li>
<?php endforeach ?>
</ol>
<?php if(is_null($all) && ($page*$limit) < $usersCount) : ?>
<nav class="admin">
<li><a id="show-more" href="<?=$linker->link(null,1,true,array('page'=>$page+1,'sortorder'=>$sortorder),false)?>"><?=_('Show more')?></a></li>
<li><a id="show-all" href="<?=$linker->link('all',1,true,array('sortorder'=>$sortorder))?>"><?=_('Show all')?></a></li>
</nav>
<?php endif ?>
<script>
var page = 1;
var request;
var linkUser = "<?=$linker->link(array('users','user','USER'))?>";
var linkPage = "<?=$linker->link(null,1,true,array('page'=>'PAGE','sortorder'=>$sortorder),false)?>";
$("#show-more").click(function(event) {
if(request) {
request.abort();
}
page++;
request = $.getJSON(linkPage.replace('PAGE', page), function(data) {
$.each(data['users'], function(key, user) {
var urlUser = linkUser.replace('USER', user['url']);
$("#userlist").append(
"<li><p>" +
"<a href=\"" + urlUser + "\">" + user['username'] + "</a><span class=\"xp\"><small>" + user['created'] + "</small></span>\n" +
(user['roles'].length > 0 ? "<small>(" + user['roles'].join(', ') + ")</small>" : '') +
"<br /><small>" + user['prename'] + " " + user['surname'] + ", " +
"<a href=\"mailto:" + user['email'] + "\">" + user['email'] + "</a></small>" +
"</p></li>"
);
});
if(data['more']) {
$("#show-more").attr('href', linkPage.replace('PAGE', page+1));
}
else {
$("#show-more").remove();
$("#show-all").remove();
}
});
request.fail(function (jqXHR, textStatus, errorThrown) {
window.location.href = linkPage.replace('PAGE', page);
});
event.preventDefault();
return false;
});
</script>

View file

@ -0,0 +1,21 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<h1><?=_('Users')?></h1>
<h2><?=_('Login')?></h2>
<?php if($failed) : ?>
<p class="invalid"><?=_('Login failed')?>.</p>
<?php endif ?>
<form method="post" class="logreg">
<fieldset>
<label for="username"><?=_('Username')?>:</label>
<input name="username" type="text" placeholder="<?=_('Username')?>" value="<?=$username?>" required="required" autofocus="autofocus" /><br />
<label for="password"><?=_('Password')?>:</label>
<input name="password" type="password" placeholder="<?=_('Password')?>" required="required" /><br />
</fieldset>
<?php if(!empty($referrer)) : ?>
<input type="hidden" name="referrer" value="<?=$referrer?>" />
<?php endif ?>
<input type="submit" name="login" value="<?=_('Login')?>" />
</form>

View file

View file

@ -0,0 +1,54 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<ul class="breadcrumbs">
<li><a href="<?=$linker->link('index',1)?>"><?=_('Users')?></a></li>
</ul>
<h1><?=_('Manage users')?></h1>
<form method="post">
<fieldset class="filter">
<p><small>Sortierung:</small></p>
<select name="sortorder" onchange="this.form.submit();">
<option value="username" <?php if($sortorder == 'username') : ?>selected="selected"<?php endif ?>><?=_('Username')?></option>
<option value="role" <?php if($sortorder == 'role') : ?>selected="selected"<?php endif ?>><?=_('Role')?></option>
<option value="created" <?php if($sortorder == 'created') : ?>selected="selected"<?php endif ?>><?=_('Date of registration')?></option>
</select>
<noscript><input type="submit" value="<?=_('Sort list')?>" /></noscript>
</fieldset>
<fieldset>
<ul class="admnql">
<?php foreach($users as &$user) : ?>
<li class="cf">
<input type="checkbox" id="users-<?=$user['id']?>" name="users[]" value="<?=$user['id']?>" <?php if(in_array($user['id'], $selectedUsers)) : ?>checked="checked"<?php endif ?> <?php if($user['id'] == \hhu\z\controllers\SeminaryController::$user['id']) : ?>disabled="disabled"<?php endif ?>/>
<label for="users-<?=$user['id']?>">
<p>
<a href="<?=$linker->link(array('users','user',$user['url']))?>"><?=$user['username']?></a>
<?php if(in_array('admin', $user['roles'])) : ?><small>(<?=_('Admin')?>)</small><?php endif ?>
<?php if(in_array('moderator', $user['roles'])) : ?><small>(<?=_('Moderator')?>)</small><?php endif ?>
<?php if(in_array('user', $user['roles'])) : ?><small>(<?=_('User')?>)</small><?php endif ?>
<span class="xp"><small><?=sprintf(_('registered on %s'), $dateFormatter->format(new \DateTime($user['created'])))?></small></span>
</p>
</label>
</li>
<?php endforeach ?>
</ul>
</fieldset>
<fieldset>
<legend><?=_('Add role')?></legend>
<?php if(in_array('admin', \hhu\z\controllers\IntermediateController::$user['roles'])) : ?>
<input type="submit" name="actions[addrole]" value="<?=_('Admin')?>" />
<input type="submit" name="actions[addrole]" value="<?=_('Moderator')?>" />
<?php endif ?>
<input type="submit" name="actions[addrole]" value="<?=_('User')?>" />
</fieldset>
<fieldset>
<legend><?=_('Remove role')?></legend>
<?php if(in_array('admin', \hhu\z\controllers\IntermediateController::$user['roles'])) : ?>
<input type="submit" name="actions[removerole]" value="<?=_('Admin')?>" />
<input type="submit" name="actions[removerole]" value="<?=_('Moderator')?>" />
<?php endif ?>
<input type="submit" name="actions[removerole]" value="<?=_('User')?>" />
</fieldset>
</form>

View file

@ -0,0 +1,101 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<ul class="breadcrumbs">
<li><?=_('Users')?></li>
</ul>
<h1><?=_('Registration')?></h1>
<?php if($validation !== true && !empty($validation)) : ?>
<ul class="validation">
<?php foreach($validation as $field => &$settings) : ?>
<li>
<ul>
<?php foreach($settings as $setting => $value) : ?>
<li>
<?php switch($field) {
case 'username':
switch($setting) {
case 'minlength': printf(_('Username is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Username is too long (max. %d chars)'), $value);
break;
case 'regex': echo _('Username contains illegal characters');
break;
case 'exist': echo _('Username already exists');
break;
default: echo _('Username invalid');
}
break;
case 'prename':
switch($setting) {
case 'minlength': printf(_('Prename is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Prename is too long (max. %d chars)'), $value);
break;
case 'regex': printf(_('Prename contains illegal characters'));
break;
default: echo _('Prename invalid');
}
break;
case 'surname':
switch($setting) {
case 'minlength': printf(_('Surname is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Surname is too long (max. %d chars)'), $value);
break;
case 'regex': printf(_('Surname contains illegal characters'));
break;
default: echo _('Surname invalid');
}
break;
case 'email':
switch($setting) {
case 'regex': echo _('Email address invalid');
break;
case 'exist': echo _('Email address already exists');
break;
case 'host': printf(_('EMail address has to end with @%s'), $emailhost);
break;
default: echo _('Email address invalid');
}
break;
case 'password':
switch($setting) {
case 'minlength': printf(_('Password is too short (min. %d chars)'), $value);
break;
case 'maxlength': printf(_('Password is too long (max. %d chars)'), $value);
break;
case 'repeat': printf(_('Passwords does not match'));
break;
default: echo _('Password invalid');
}
break;
default:
echo $exception->getMessage();
break;
} ?>
</li>
<?php endforeach ?>
</ul>
</li>
<?php endforeach ?>
</ul>
<?php endif ?>
<form method="post" class="logreg">
<fieldset>
<label for="username"><?=_('Username')?>:</label>
<input name="username" type="text" placeholder="<?=_('Username')?>" title="<?=_('Username')?>" required="required" maxlength="<?=$validationSettings['username']['maxlength']?>" value="<?=$username?>" <?=(array_key_exists('username', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="prename"><?=_('Prename')?>:</label>
<input name="prename" type="text" placeholder="<?=_('Prename')?>" title="<?=_('Prename')?>" required="required" maxlength="<?=$validationSettings['prename']['maxlength']?>" value="<?=$prename?>" <?=(array_key_exists('prename', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="surname"><?=_('Surname')?>:</label>
<input name="surname" type="text" placeholder="<?=_('Surname')?>" title="<?=_('Surname')?>" required="required" maxlength="<?=$validationSettings['surname']['maxlength']?>" value="<?=$surname?>" <?=(array_key_exists('surname', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="email"><?=_('Email address')?>:</label>
<input name="email" type="email" placeholder="<?=(!empty($emailhost)) ? '…@'.$emailhost : _('Email address')?>" title="<?=_('Email address')?>" required="required" value="<?=$email?>" <?=(array_key_exists('email', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="password"><?=_('Password')?>:</label>
<input name="password" type="password" placeholder="<?=_('Password')?>" title="<?=_('Password')?>" required="required" maxlength="<?=$validationSettings['password']['maxlength']?>" <?=(array_key_exists('password', $validation)) ? 'class="invalid"' : null?> /><br />
<label for="passwordrepeat"><?=_('Repeat password')?>:</label>
<input name="passwordrepeat" type="password" placeholder="<?=_('Password')?>" title="<?=_('Password')?>" required="required" maxlength="<?=$validationSettings['password']['maxlength']?>" <?=(array_key_exists('password', $validation)) ? 'class="invalid"' : null?> /><br />
</fieldset>
<input type="submit" name="register" value="<?=_('Register')?>" />
</form>

49
views/html/users/user.tpl Normal file
View file

@ -0,0 +1,49 @@
<div class="moodpic">
<img src="<?=$linker->link(array('grafics','questlab.jpg'))?>" />
</div>
<ul class="breadcrumbs">
<?php if(count(array_intersect(array('admin','moderator'),\hhu\z\controllers\IntermediateController::$user['roles'])) > 0) : ?>
<li><a href="<?=$linker->link('index',1)?>"><?=_('Users')?></a></li>
<?php else : ?>
<li><?=_('Users')?></li>
<?php endif ?>
</ul>
<h1><?=$user['username']?></h1>
<nav class="admin">
<?php if(count(array_intersect(array('admin','moderator'),\hhu\z\controllers\IntermediateController::$user['roles'])) > 0 || $user['id'] == \hhu\z\controllers\IntermediateController::$user['id']) : ?>
<li><a href="<?=$linker->link('edit', 3)?>"><?=_('Edit user')?></a></li>
<?php endif ?>
<?php if(count(array_intersect(array('admin','moderator'),\hhu\z\controllers\IntermediateController::$user['roles'])) > 0) : ?>
<li><a href="<?=$linker->link('delete', 3)?>"><?=_('Delete user')?></a></li>
<?php endif ?>
</nav>
<p>
<?=sprintf(_('registered on %s'), $dateFormatter->format(new \DateTime($user['created'])))?><br />
<?=_('Name')?>: <?=$user['prename']?> <?=$user['surname']?><br />
<?=_('Email address')?>: <a href="mailto:<?=$user['email']?>"><?=$user['email']?></a>
</p>
<h2><?=_('Characters')?></h2>
<ul class="gchars cf">
<?php foreach($characters as &$character) : ?>
<li>
<?php if(array_key_exists('small_avatar', $character)) : ?>
<p><img src="<?=$linker->link(array('media','seminary',$character['seminary_url'],$character['small_avatar']['url']))?>"></p>
<?php endif ?>
<p>
<?php if(count($character['characterroles']) > 0) : ?>
<a href="<?=$linker->link(array('characters','character',$character['seminary_url'],$character['url']))?>"><?=$character['name']?></a>
<?php else : ?>
<?=$character['name']?>
<?php endif ?>
</p>
<?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?>
<p><small><?=_('Level')?> <?=$character['xplevel']['level']?></small></p>
<?php endif ?>
</li>
<?php endforeach ?>
</ul>
<h2><?=_('Roles')?></h2>
<?=$userroles?>