handle Avatar pictures by MediaAgent
This commit is contained in:
parent
027513400a
commit
9a906e2fd6
12 changed files with 145 additions and 102 deletions
|
|
@ -69,6 +69,24 @@
|
|||
);
|
||||
|
||||
|
||||
/**
|
||||
* Media sizes
|
||||
*
|
||||
* @static
|
||||
* @var array
|
||||
*/
|
||||
public static $media = array(
|
||||
'questgroup' => array(
|
||||
'width' => 480,
|
||||
'height' => 5000
|
||||
),
|
||||
'avatar' => array(
|
||||
'width' => 500,
|
||||
'height' => 500
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* Miscellaneous settings
|
||||
*
|
||||
|
|
|
|||
|
|
@ -75,12 +75,6 @@
|
|||
{
|
||||
// Level
|
||||
$character['xplevel'] = $this->Characters->getXPLevelOfCharacters($character['id']);
|
||||
|
||||
// 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']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -128,26 +122,6 @@
|
|||
'superior' => $this->Characters->getSuperiorCharacters($seminary['id'], $character['xps'], \nre\configs\AppConfig::$misc['ranking_range']),
|
||||
'inferior' => $this->Characters->getInferiorCharacters($seminary['id'], $character['xps'], \nre\configs\AppConfig::$misc['ranking_range'])
|
||||
);
|
||||
foreach($ranking['superior'] as &$rankCharacter)
|
||||
{
|
||||
if(!is_null($rankCharacter['avatar_id']))
|
||||
{
|
||||
$avatar = $this->Avatars->getAvatarById($rankCharacter['avatar_id']);
|
||||
if(!is_null($avatar['small_avatarpicture_id'])) {
|
||||
$rankCharacter['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach($ranking['inferior'] as &$rankCharacter)
|
||||
{
|
||||
if(!is_null($rankCharacter['avatar_id']))
|
||||
{
|
||||
$avatar = $this->Avatars->getAvatarById($rankCharacter['avatar_id']);
|
||||
if(!is_null($avatar['small_avatarpicture_id'])) {
|
||||
$rankCharacter['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get Quest topics
|
||||
$questtopics = $this->Questtopics->getQuesttopicsForSeminary($seminary['id']);
|
||||
|
|
|
|||
|
|
@ -26,9 +26,10 @@
|
|||
*/
|
||||
public $permissions = array(
|
||||
'index' => array('admin', 'moderator', 'user', 'guest'),
|
||||
'seminaryheader' => array('admin', 'moderator', 'user', 'guest'),
|
||||
'seminary' => array('admin', 'moderator', 'user', 'guest'),
|
||||
'achievement' => array('admin', 'moderator', 'user', 'guest')
|
||||
'seminaryheader' => array('admin', 'moderator', 'user'),
|
||||
'seminary' => array('admin', 'moderator', 'user'),
|
||||
'avatar' => array('admin', 'moderator', 'user'),
|
||||
'achievement' => array('admin', 'moderator', 'user')
|
||||
);
|
||||
/**
|
||||
* User seminary permissions
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
public $models = array('seminaries', 'achievements', 'media');
|
||||
public $models = array('seminaries', 'achievements', 'media', 'avatars');
|
||||
|
||||
|
||||
|
||||
|
|
@ -143,7 +144,56 @@
|
|||
|
||||
// Get file
|
||||
$file = $this->getMediaFile($media, $action);
|
||||
if(is_null($media)) {
|
||||
if(is_null($file)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Pass data to view
|
||||
$this->set('media', $media);
|
||||
$this->set('file', $file);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Action: avatar.
|
||||
*
|
||||
* Display an Avatar as full size or portrait.
|
||||
*
|
||||
* @throws ParamsNotValidException
|
||||
* @throws IdNotFoundException
|
||||
* @param string $seminaryUrl URL-title of the Seminary
|
||||
* @param string $charactertypeUrl URL-title of Character type
|
||||
* @param int $xplevel XP-level
|
||||
* @param string $action Size to show (avatar or portrait)
|
||||
*/
|
||||
public function avatar($seminaryUrl, $charactertypeUrl, $xplevel, $action='avatar')
|
||||
{
|
||||
// Get Seminary
|
||||
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
|
||||
|
||||
// Get Avatar
|
||||
$avatar = $this->Avatars->getAvatarByTypeAndLevel($seminary['id'], $charactertypeUrl, $xplevel);
|
||||
|
||||
// Get media
|
||||
switch($action)
|
||||
{
|
||||
case null:
|
||||
case 'avatar':
|
||||
$media = $this->Media->getSeminaryMediaById($avatar['avatarpicture_id']);
|
||||
$file = $this->getMediaFile($media, 'avatar');
|
||||
break;
|
||||
case 'portrait':
|
||||
$media = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']);
|
||||
$file = $this->getMediaFile($media);
|
||||
break;
|
||||
default:
|
||||
throw new \nre\exceptions\ParamsNotValidException($action);
|
||||
break;
|
||||
}
|
||||
|
||||
// Get file
|
||||
if(is_null($file)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -287,10 +337,19 @@
|
|||
$file = self::resizeImage(
|
||||
$media['filename'],
|
||||
$format,
|
||||
480
|
||||
\nre\configs\AppConfig::$media['questgroup']['width'],
|
||||
\nre\configs\AppConfig::$media['questgroup']['height']
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 'avatar':
|
||||
$file = self::resizeImage(
|
||||
$media['filename'],
|
||||
$format,
|
||||
\nre\configs\AppConfig::$media['avatar']['width'],
|
||||
\nre\configs\AppConfig::$media['avatar']['height']
|
||||
);
|
||||
break;
|
||||
default:
|
||||
throw new ParamsNotValidException($action);
|
||||
break;
|
||||
|
|
@ -321,12 +380,14 @@
|
|||
*
|
||||
* @param string $fileName Absolute pathname of image to resize
|
||||
* @param string $mimeType Mimetype of target image
|
||||
* @param int $size New size to resize to
|
||||
* @param int $width Max. width to resize to
|
||||
* @param int $height Max. height to resize to
|
||||
* @return mixed Resized image
|
||||
*/
|
||||
private static function resizeImage($fileName, $mimeType, $size)
|
||||
private static function resizeImage($fileName, $mimeType, $width, $height)
|
||||
{
|
||||
// Read image from cache
|
||||
$tempFileName = ROOT.DS.\nre\configs\AppConfig::$dirs['temporary'].DS.'media-'.basename($fileName).'-'.$size;
|
||||
$tempFileName = ROOT.DS.\nre\configs\AppConfig::$dirs['temporary'].DS.'media-'.basename($fileName).'-'.$width.'x'.$height;
|
||||
if(file_exists($tempFileName))
|
||||
{
|
||||
// Check age of file
|
||||
|
|
@ -346,12 +407,15 @@
|
|||
|
||||
// Calculate new size
|
||||
$geometry = $im->getImageGeometry();
|
||||
if($geometry['width'] < $size) {
|
||||
$size = $geometry['width'];
|
||||
if($geometry['width'] < $width) {
|
||||
$width = $geometry['width'];
|
||||
}
|
||||
if($geometry['height'] < $height) {
|
||||
$height = $geometry['width'];
|
||||
}
|
||||
|
||||
// Process
|
||||
$im->thumbnailImage($size, 5000, true);
|
||||
$im->thumbnailImage($width, $height, true);
|
||||
$im->contrastImage(1);
|
||||
$im->setImageFormat($mimeType);
|
||||
|
||||
|
|
|
|||
|
|
@ -68,16 +68,6 @@
|
|||
if($groupsgroup['preferred'])
|
||||
{
|
||||
$group['members'] = $this->Characters->getCharactersForGroup($group['id']);
|
||||
foreach($group['members'] as &$member)
|
||||
{
|
||||
if(!is_null($member['avatar_id']))
|
||||
{
|
||||
$avatar = $this->Avatars->getAvatarById($member['avatar_id']);
|
||||
if(!is_null($avatar['small_avatarpicture_id'])) {
|
||||
$member['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
$characterGroups[] = $group;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,36 @@
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get an Avatar by its Character type and XP-level.
|
||||
*
|
||||
* @param int $seminaryId ID of Seminary
|
||||
* @param string $charactertypeUrl URL-title of Character type
|
||||
* @param int $xplevel XP-level
|
||||
* @return array Avatar data
|
||||
*/
|
||||
public function getAvatarByTypeAndLevel($seminaryId, $charactertypeUrl, $xplevel)
|
||||
{
|
||||
$data = $this->db->query(
|
||||
'SELECT avatars.id, charactertype_id, xplevel_id, avatarpicture_id, small_avatarpicture_id '.
|
||||
'FROM avatars '.
|
||||
'INNER JOIN charactertypes ON charactertypes.id = avatars.charactertype_id '.
|
||||
'INNER JOIN xplevels ON xplevels.id = avatars.xplevel_id AND xplevels.seminary_id = charactertypes.seminary_id '.
|
||||
'WHERE charactertypes.seminary_id = ? AND charactertypes.url = ? AND xplevels.level = ?',
|
||||
'isi',
|
||||
$seminaryId,
|
||||
$charactertypeUrl,
|
||||
$xplevel
|
||||
);
|
||||
if(empty($data)) {
|
||||
throw new \nre\exceptions\IdNotFoundException($charactertypeUrl);
|
||||
}
|
||||
|
||||
|
||||
return $data[0];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
public function getCharactersForUser($userId)
|
||||
{
|
||||
return $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminaries.id AS seminary_id, seminaries.url AS seminary_url, seminaries.title AS seminary_title, seminaries.url AS seminary_url '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url, seminaries.id AS seminary_id, seminaries.url AS seminary_url, seminaries.title AS seminary_title, seminaries.url AS seminary_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN seminaries ON seminaries.id = charactertypes.seminary_id '.
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
public function getCharactersForSeminary($seminaryId)
|
||||
{
|
||||
return $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminaries.id AS seminary_url, seminaries.title AS seminary_title, seminaries.url AS seminary_url '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url, seminaries.id AS seminary_url, seminaries.title AS seminary_title, seminaries.url AS seminary_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN seminaries ON seminaries.id = charactertypes.seminary_id '.
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
public function getCharactersForGroup($groupId)
|
||||
{
|
||||
return $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN characters_charactergroups ON characters_charactergroups.character_id = characters.id '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
|
|
@ -105,12 +105,9 @@
|
|||
public function getCharacterForUserAndSeminary($userId, $seminaryId)
|
||||
{
|
||||
$data = $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminarymedia.url AS avatar_url, seminarymedia.description AS avatar_description '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN avatars ON avatars.id = characters.avatar_id '.
|
||||
'LEFT JOIN avatarpictures ON avatarpictures.seminarymedia_id = avatars.avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia ON seminarymedia.id = avatarpictures.seminarymedia_id '.
|
||||
'WHERE characters.user_id = ? AND charactertypes.seminary_id = ?',
|
||||
'ii',
|
||||
$userId, $seminaryId
|
||||
|
|
@ -135,14 +132,9 @@
|
|||
public function getCharacterByUrl($seminaryId, $characterUrl)
|
||||
{
|
||||
$data = $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminarymedia.url AS avatar_url, seminarymedia.description AS avatar_description, small_seminarymedia.url AS small_avatar_url, small_seminarymedia.description AS small_avatar_description '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN avatars ON avatars.id = characters.avatar_id '.
|
||||
'LEFT JOIN avatarpictures ON avatarpictures.seminarymedia_id = avatars.avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia ON seminarymedia.id = avatarpictures.seminarymedia_id '.
|
||||
'LEFT JOIN avatarpictures AS small_avatarpictures ON small_avatarpictures.seminarymedia_id = avatars.small_avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia AS small_seminarymedia ON small_seminarymedia.id = small_avatarpictures.seminarymedia_id '.
|
||||
'WHERE charactertypes.seminary_id = ? AND characters.url = ?',
|
||||
'is',
|
||||
$seminaryId, $characterUrl
|
||||
|
|
@ -166,14 +158,9 @@
|
|||
public function getCharacterById($characterId)
|
||||
{
|
||||
$data = $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminarymedia.url AS avatar_url, seminarymedia.description AS avatar_description, small_seminarymedia.url AS small_avatar_url, small_seminarymedia.description AS small_avatar_description '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN avatars ON avatars.id = characters.avatar_id '.
|
||||
'LEFT JOIN avatarpictures ON avatarpictures.seminarymedia_id = avatars.avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia ON seminarymedia.id = avatarpictures.seminarymedia_id '.
|
||||
'LEFT JOIN avatarpictures AS small_avatarpictures ON small_avatarpictures.seminarymedia_id = avatars.small_avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia AS small_seminarymedia ON small_seminarymedia.id = small_avatarpictures.seminarymedia_id '.
|
||||
'WHERE characters.id = ?',
|
||||
'i',
|
||||
$characterId
|
||||
|
|
@ -273,7 +260,7 @@
|
|||
public function getSuperiorCharacters($seminaryId, $xps, $count)
|
||||
{
|
||||
return $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'INNER JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'WHERE charactertypes.seminary_id = ? AND characters.xps > ? '.
|
||||
|
|
@ -296,7 +283,7 @@
|
|||
public function getInferiorCharacters($seminaryId, $xps, $count)
|
||||
{
|
||||
return $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'INNER JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'WHERE charactertypes.seminary_id = ? AND characters.xps < ? '.
|
||||
|
|
@ -317,12 +304,9 @@
|
|||
public function getCharactersSolvedQuest($questId)
|
||||
{
|
||||
return $data = $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminarymedia.url AS avatar_url, seminarymedia.description AS avatar_description '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN avatars ON avatars.id = characters.avatar_id '.
|
||||
'LEFT JOIN avatarpictures ON avatarpictures.seminarymedia_id = avatars.avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia ON seminarymedia.id = avatarpictures.seminarymedia_id '.
|
||||
'WHERE EXISTS ('.
|
||||
'SELECT character_id FROM quests_characters WHERE character_id = characters.id AND quest_id = ? AND status = ?'.
|
||||
')',
|
||||
|
|
@ -342,12 +326,9 @@
|
|||
public function getCharactersUnsolvedQuest($questId)
|
||||
{
|
||||
return $data = $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminarymedia.url AS avatar_url, seminarymedia.description AS avatar_description '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN avatars ON avatars.id = characters.avatar_id '.
|
||||
'LEFT JOIN avatarpictures ON avatarpictures.seminarymedia_id = avatars.avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia ON seminarymedia.id = avatarpictures.seminarymedia_id '.
|
||||
'WHERE EXISTS ('.
|
||||
'SELECT character_id FROM quests_characters WHERE character_id = characters.id AND quest_id = ? AND status = ?'.
|
||||
') AND NOT EXISTS ('.
|
||||
|
|
@ -369,12 +350,9 @@
|
|||
public function getCharactersSubmittedQuest($questId)
|
||||
{
|
||||
return $data = $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminarymedia.url AS avatar_url, seminarymedia.description AS avatar_description '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, charactertypes.name AS charactertype_name, charactertypes.url AS charactertype_url '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN avatars ON avatars.id = characters.avatar_id '.
|
||||
'LEFT JOIN avatarpictures ON avatarpictures.seminarymedia_id = avatars.avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia ON seminarymedia.id = avatarpictures.seminarymedia_id '.
|
||||
'WHERE EXISTS ('.
|
||||
'SELECT character_id FROM quests_characters WHERE character_id = characters.id AND quest_id = ? AND status = ?'.
|
||||
') AND NOT EXISTS ('.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<div class="cf">
|
||||
<section class="opponent">
|
||||
<p class="fwb"><?=$character['name']?></p>
|
||||
<p class="portrait"><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['avatar_url']))?>" class="hero" /></p>
|
||||
<p class="portrait"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']))?>" class="hero" /></p>
|
||||
<p>
|
||||
<?php if($lives['character'] > 0) : ?>
|
||||
<?php foreach(range(1,$lives['character']) as $i) : ?>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<div class="cf">
|
||||
<section class="opponent">
|
||||
<p class="portrait"><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['avatar_url']))?>" class="hero" /></p>
|
||||
<p class="portrait"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']))?>" class="hero" /></p>
|
||||
</section>
|
||||
<section class="opponent">
|
||||
<p class="portrait"><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$fight['bossmedia']['url']))?>" class="boss" /></p>
|
||||
|
|
|
|||
1
views/binary/media/avatar.tpl
Normal file
1
views/binary/media/avatar.tpl
Normal file
|
|
@ -0,0 +1 @@
|
|||
<?=$file?>
|
||||
|
|
@ -42,9 +42,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
<div class="cportrait">
|
||||
<?php if(!is_null($character['avatar_url'])) : ?>
|
||||
<img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['avatar_url']))?>" alt="<?=$character['avatar_description']?>" />
|
||||
<?php endif ?>
|
||||
<img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level']))?>" />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -66,25 +64,19 @@
|
|||
<ul class="cranks">
|
||||
<?php foreach($ranking['superior'] as $index => &$rankCharacter) : ?>
|
||||
<li>
|
||||
<?php if(array_key_exists('small_avatar', $rankCharacter)) : ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$rankCharacter['small_avatar']['url']))?>"></a>
|
||||
<?php endif ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$rankCharacter['charactertype_url'],$rankCharacter['xplevel'],'portrait'))?>"></a>
|
||||
<p><?=$character['rank']-count($ranking['superior'])+$index?>. <a href="#"><?=$rankCharacter['name']?></a></p>
|
||||
<p><small><?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=$rankCharacter['xps']?> XPs)</small></p>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
<li>
|
||||
<?php if(array_key_exists('small_avatar_url', $character)) : ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['small_avatar_url']))?>"></a>
|
||||
<?php endif ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level'],'portrait'))?>"></a>
|
||||
<p class="fwb"><?=$character['rank']?>. <a href="#"><?=$character['name']?></a></p>
|
||||
<p><small><?=_('Level')?> <?=$character['xplevel']['level']?> (<?=$character['xps']?> XPs)</small></p>
|
||||
</li>
|
||||
<?php foreach($ranking['inferior'] as $index => &$rankCharacter) : ?>
|
||||
<li>
|
||||
<?php if(array_key_exists('small_avatar', $rankCharacter)) : ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$rankCharacter['small_avatar']['url']))?>"></a>
|
||||
<?php endif ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$rankCharacter['charactertype_url'],$rankCharacter['xplevel'],'portrait'))?>"></a>
|
||||
<p><?=$character['rank']+$index+1?>. <a href="#"><?=$rankCharacter['name']?></a></p>
|
||||
<p><small><?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=$rankCharacter['xps']?> XPs)</small></p>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -9,9 +9,7 @@
|
|||
<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',$seminary['url'],$character['small_avatar']['url']))?>"></p>
|
||||
<?php endif ?>
|
||||
<p><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level'],'portrait'))?>"></p>
|
||||
<p><a href="<?=$linker->link(array('characters','character',$seminary['url'],$character['url']))?>"><?=$character['name']?></a></p>
|
||||
<p><small><?=$character['xps']?> XP</small></p>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<section class="cf">
|
||||
<h1><?=$character['name']?></h1>
|
||||
<img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['avatar_url']))?>" class="char">
|
||||
<img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level']))?>" class="char">
|
||||
<ul class="charstats">
|
||||
<li><i class="fa fa-caret-right fa-fw"></i><?=('Level')?> <?=$character['xplevel']['level']?></li>
|
||||
<li><i class="fa fa-caret-right fa-fw"></i><?=$character['xps']?> XPs</li>
|
||||
|
|
@ -37,9 +37,7 @@
|
|||
<ul class="cranks">
|
||||
<?php foreach($group['members'] as &$member) : ?>
|
||||
<li>
|
||||
<?php if(array_key_exists('small_avatar', $member)) : ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$member['small_avatar']['url']))?>"></a>
|
||||
<?php endif ?>
|
||||
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$member['charactertype_url'],$member['xplevel'],'portrait'))?>"></a>
|
||||
<p><a href="<?=$linker->link(array('characters','character',$seminary['url'],$member['url']))?>"><?=$member['name']?></a></p>
|
||||
<p><small><?=_('Level')?> <?=$member['xplevel']?> (<?=$member['xps']?> XPs)</small></p>
|
||||
</li>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue