Version 4.1.19

This commit is contained in:
Neo committed 2025-12-19 05:38:56 -08:00
1 parent 28bd025b35
commit 2bd5025018
2674 files changed
+233518 -77766

No files matched your search

+290 -129
View File
@@ -2,7 +2,7 @@
<theme name="Default" author_name="Invision Power Services, Inc" author_url="http://www.invisionpower.com">
<template template_group="browse" template_name="album" template_data="$album, $table" template_location="front" template_app="gallery"><![CDATA[
<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom">
<h1 class="ipsType_pageTitle ipsType_break">{wordbreak="$album->_title"} </h1>
<h1 class="ipsType_pageTitle ipsType_break"><div class='ipsContained ipsType_break'>{$album->_title}</div></h1>
<div class='ipsPos_right ipsResponsive_noFloat ipsResponsive_hidePhone'>
{{$followerCount = \IPS\gallery\Image::containerFollowerCount( $album );}}
{template="follow" app="core" group="global" params="'gallery', 'album', $album->_id, $followerCount"}
@@ -95,7 +95,7 @@
</span>
{{endif}}
{{if \IPS\gallery\Image::containerUnread( $album )}}<strong>{{endif}}
<a href='{$album->url()}' title='{lang="view_this_album" sprintf="$album->_title"}'>{$album->_title}</a>
<div class='ipsContained ipsType_break'><a href='{$album->url()}' title='{lang="view_this_album" sprintf="$album->_title"}'>{$album->_title}</a></div>
{{if \IPS\gallery\Image::containerUnread( $album )}}</strong>{{endif}}
</h3>
{{if $album->last_img_date}}<p class='ipsType_light ipsType_medium ipsType_reset'>{lang="updated"} {datetime="$album->last_img_date"}</p>{{endif}}
@@ -136,9 +136,9 @@
</li>
{{foreach $album->_latestImages as $image }}
<li style='background-image: url( "{file="$image->thumb_file_name" extension="gallery_Images"}" );' class='cGalleryTrimmedImage'>
<a href='{$image->url()}' data-ipsLightbox data-fullURL='{file="$image->masked_file_name" extension="gallery_Images"}'>
<a href='{$image->url()}'>
<img src='{file="$image->thumb_file_name" extension="gallery_Images"}' alt="{$image->caption}">
{{if $album->allow_comments}}
{{if ( $image->directContainer()->allow_comments && $image->container()->allow_comments )}}
<span class='cGalleryAlbums_comments'><i class='fa fa-comment'></i> {expression="count( $image->comments() )"}</span>
{{endif}}
</a>
@@ -166,13 +166,13 @@
<ul class='ipsSideMenu_list'>
{{foreach $categories as $category}}
<li>
<a href="{$category->url()}" class='ipsSideMenu_item {{if $currentCategory && $currentCategory->id == $category->id}}{{endif}} ipsTruncate ipsTruncate_line'><span class='ipsBadge ipsBadge_style1 ipsPos_right cGalleryCategoryCount'>{expression="\IPS\gallery\Image::contentCount( $category )"}</span><strong class='ipsType_normal'>{$category->_title}</strong></a>
<a href="{$category->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'><span class='ipsBadge ipsBadge_style1 ipsPos_right cGalleryCategoryCount'>{expression="\IPS\gallery\Image::contentCount( $category )"}</span><strong class='ipsType_normal'>{$category->_title}</strong></a>
{{if $category->hasChildren()}}
<ul class="ipsSideMenu_list">
{{foreach $category->children() as $idx => $subcategory}}
<li>
{{if $idx >= 5}}
<a href='{$category->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $category->children() ) - 5"}</span></a>
<a href='{$category->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" pluralize="count( $category->children() ) - 5"}</span></a>
{{break;}}
{{else}}
<a href="{$subcategory->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'><strong class='ipsPos_right ipsType_small cGalleryCategoryCount'>{expression="\IPS\gallery\Image::contentCount( $subcategory )"}</strong>{$subcategory->_title}</a>
@@ -204,7 +204,8 @@
<hr class='ipsHr'>
<strong class='ipsType_normal'>{lang="gallery_category_{$category->id}_rulestitle"}</strong>
<div class='ipsType_richText ipsType_medium ipsSpacer_both'>{lang="gallery_category_{$category->id}_rules"}</div>
{{else}}
{{endif}}
{{if $category->description}}
<div class='ipsType_richText ipsType_medium ipsSpacer_both'>
{$category->description|raw}
</div>
@@ -250,16 +251,14 @@
<template template_group="browse" template_name="categoryGrid" template_data="$categories" template_location="front" template_app="gallery"><![CDATA[
{{if count( $categories )}}
<div class='cGalleryCats ipsClear ipsClearfix'>
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='220' data-ipsGrid-maxItemSize='500'>
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='250' data-ipsGrid-maxItemSize='500'>
{{foreach $categories as $category}}
<li class='ipsGrid_span4 cGalleryCat'>
<a href='{$category->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $category->coverPhoto('medium') )"}" );' class='cGalleryTrimmedImage' data-grid-ratio='40'>
<h2 class='ipsType_sectionHead ipsTruncate ipsTruncate_line'>{$category->_title}</h2>
<img src='{$category->coverPhoto('medium')}' alt='{$category->_title}'>
<ul class='ipsList_inline ipsType_left cGalleryCat_info'>
{{if $category->last_img_date}}
<li><i class='fa fa-clock-o'></i> {datetime="$category->last_img_date"}</li>
{{endif}}
<li>{{if $category->lastImage() !== NULL}}<i class='fa fa-clock-o'></i> {datetime="$category->lastImage()->date"}{{endif}}</li>
{{if $category->allow_comments}}
<li class='ipsPos_right' data-ipsTooltip title='{lang="cat_comment_count" pluralize="$category->_comments"}'><i class='fa fa-comment'></i> {$category->_comments}</li>
{{endif}}
@@ -405,8 +404,9 @@
{{endif}}
{{if $table->canModerate()}}
<form action="{$table->baseUrl}" method="post" data-role='moderationTools' data-ipsPageAction class='ipsClear'>
<form action="{$table->baseUrl->csrf()}" method="post" data-role='moderationTools' data-ipsPageAction class='ipsClear'>
{{endif}}
{{if !empty( $rows ) }}
{{if isset( \IPS\Request::i()->cookie['thumbnailSize'] ) AND \IPS\Request::i()->cookie['thumbnailSize'] == 'large' AND \IPS\Request::i()->controller != 'search' }}
<ol class='ipsList_reset ipsClear ipsType_center cGalleryLargeList ipsAreaBackground_light ipsPad' id='elTable_{$table->uniqueId}' data-controller='gallery.front.browse.list' data-role='tableRows'>
{template="tableRowsLarge" group="browse" app="gallery" params="$table, $headers, $rows"}
@@ -418,8 +418,13 @@
{{else}}
<ol class='ipsAreaBackground_light ipsPad ipsList_reset ipsClear ipsGrid ipsGrid_collapsePhone ipsType_center cGalleryPatchwork_list' data-controller='gallery.front.browse.list' data-ipsPhotoLayout data-ipsPhotoLayout-itemTemplate='core.patchwork.imageList' data-ipsPhotoLayout-minHeight='300' id='elTable_{$table->uniqueId}' data-role='tableRows'>
{template="tableRowsThumbs" group="browse" app="gallery" params="$table, $headers, $rows"}
</ol>
</ol>
{{endif}}
{{else}}
<div class='ipsType_center ipsPad'>
<p class='ipsType_large ipsType_light'>{lang="no_rows_in_table"}</p>
</div>
{{endif}}
{{if $table->canModerate()}}
<div class="ipsAreaBackground ipsPad ipsClearfix" data-role="pageActionOptions">
<div class="ipsPos_right">
@@ -555,7 +560,7 @@
{{foreach $album->_latestImages as $image}}
{{if $image->medium_file_name}}
<li style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), \IPS\File::get( 'gallery_Images', $image->small_file_name )->url )"}" );' class='ipsGrid_span3 cGalleryTrimmedImage' data-grid-ratio='100' data-imageID='{$image->id}'>
<a href='{$image->url()->setQueryString( 'browse', 1 )}' title='{$image->caption}' data-ipsLightbox data-ipsLightbox-group='g{$album->id}' data-fullURL="{file="$image->masked_file_name" extension="gallery_Images"}">
<a href='{$image->url()->setQueryString( 'browse', 1 )}' title='{$image->caption}'>
<img src='{file="$image->small_file_name" extension="gallery_Images"}' alt='{$image->caption}'>
</a>
</li>
@@ -574,16 +579,16 @@
</div>]]></template>
<template template_group="browse" template_name="tableRowsLarge" template_data="$table, $headers, $images" template_location="front" template_app="gallery"><![CDATA[
{{foreach $images as $image}}
<li class='{{if $image->hidden()}}ipsModerated{{else}}ipsAreaBackground_reset{{endif}} ipsPad ipsType_center cGalleryImageItem ipsContained ipsType_break'>
<a href='{$image->url()}' title='{lang="view_this" sprintf="$image->caption"}'>
<li class='{{if $image->hidden()}}ipsModerated{{else}}ipsAreaBackground_reset{{endif}} ipsPad ipsType_center cGalleryImageItem'>
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}'>
<img src='{file="$image->medium_file_name" extension="gallery_Images"}' alt='' class='ipsImage'>
</a>
<h2 class='ipsType_sectionHead ipsType_normal ipsContained ipsType_break'>
<h2 class='ipsType_sectionHead ipsType_normal ipsTruncate ipsTruncate_line'>
{{if $image->unread()}}<span class='ipsItemStatus ipsItemStatus_small'><i class="fa fa-circle"></i></span>{{endif}}
{{if $image->prefix()}}
{template="prefix" group="global" app="core" params="$image->prefix( TRUE ), $image->prefix()"}
{{endif}}
<a href='{$image->url()}' title='{lang="view_this" sprintf="$image->caption"}'>
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}'>
{{if $image->unread()}}<strong>{$image->caption}</strong>{{else}}{$image->caption}{{endif}}
</a>
{{if $table->canModerate()}}
@@ -624,7 +629,7 @@
<div class='ipsDataItem_main'>
<div class='ipsType_center'>
{{if $image->medium_file_name}}
<a href='{$image->url()}' title='{lang="view_this" sprintf="$image->caption"}'>
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}'>
<img src='{file="$image->medium_file_name" extension="gallery_Images"}' alt='{$image->caption}' class='ipsImage'>
</a>
{{else}}
@@ -642,9 +647,11 @@
{template="prefix" group="global" app="core" params="$image->prefix( TRUE ), $image->prefix()"}
{{endif}}
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}' {{if $image->canEdit()}}data-role="editableTitle"{{endif}}>
{wordbreak="$image->caption"}
</a>
<div class='ipsContained ipsType_break'>
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"} {{if $image->canEdit()}}{lang="click_hold_edit"}{{endif}}' class='ipsTruncate ipsTruncate_line' {{if $image->canEdit()}}data-role="editableTitle"{{endif}}>
{$image->caption}
</a>
</div>
</h4>
<p class='ipsType_reset ipsType_light ipsType_blendLinks'>
{lang="byline_nodate" htmlsprintf="$image->author()->link()"}
@@ -714,9 +721,12 @@
<i class="fa fa-circle"></i>
</span>
{{endif}}
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}' {{if $image->canEdit()}}data-role="editableTitle"{{endif}}>
{wordbreak="$image->caption"}
</a>
<div class='ipsContained ipsType_break'>
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"} {{if $image->canEdit()}}{lang="click_hold_edit"}{{endif}}' {{if $image->canEdit()}}data-role="editableTitle"{{endif}}>
{$image->caption}
</a>
</div>
</h4>
<p class='ipsType_reset ipsType_light ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$image->author()->link()"}</p>
<div class='ipsType_medium ipsType_richText ipsType_break' data-ipsTruncate data-ipsTruncate-type="remove" data-ipsTruncate-size="2 lines">
@@ -776,7 +786,7 @@
<template template_group="browse" template_name="tableRowsThumbs" template_data="$table, $headers, $images" template_location="front" template_app="gallery"><![CDATA[{{foreach $images as $image}}
<li class='ipsGrid_span4 {{if $image->hidden()}}ipsModerated{{else}}ipsAreaBackground_light{{endif}} cGalleryImageItem' data-role='patchworkImage' data-json='{$image->json()|raw}'>
<div data-grid-ratio='65'>
<a href='{$image->url()}' title='{lang="view_this" sprintf="$image->caption"}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), \IPS\File::get( 'gallery_Images', $image->small_file_name )->url )"}" )' class='cGalleryImageItem_image cGalleryTrimmedImage'>
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), \IPS\File::get( 'gallery_Images', $image->small_file_name )->url )"}" )' class='cGalleryImageItem_image cGalleryTrimmedImage'>
<img src='{file="$image->small_file_name" extension="gallery_Images"}' alt='' class='cGalleryThumb'>&nbsp;
</a>
{{if $table->canModerate()}}
@@ -850,9 +860,9 @@
{{endif}}
{{if $item->author()->member_id != \IPS\Member::loggedIn()->member_id}}
{{if $item->author()->members_bitoptions['bw_is_spammer']}}
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&id={$item->author()->member_id}&s=0" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm data-confirmSubMessage="{lang="spam_unflag_confirm"}">{lang="spam_unflag"}</a></li>
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$item->author()->member_id}&s=0" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm data-confirmSubMessage="{lang="spam_unflag_confirm"}">{lang="spam_unflag"}</a></li>
{{else}}
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&id={$item->author()->member_id}&s=1" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm>{lang="spam_flag"}</a></li>
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$item->author()->member_id}&s=1" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm>{lang="spam_flag"}</a></li>
{{endif}}
{{endif}}
<li class="ipsMenu_item"><a href='{url="app=core&module=messaging&controller=messenger&do=compose&to={$item->author()->member_id}" seoTemplate="messenger_compose"}' data-ipsDialog data-ipsDialog-title='{lang="compose_new"}' data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="message_sent"}">{lang="message_send"}</a></li>
@@ -868,18 +878,26 @@
<div class='ipsBox'>
<h2 class="ipsType_sectionTitle ipsType_blendLinks"><a href="{$item->url()}">{$title}</a></h2>
<div class="ipsType_richText ipsPost ipsType_normal ipsPad">
{template="snippet" app="gallery" location="front" group="global" params="$item"}
{{if $item->medium_file_name}}
<a href='{$item->url()}'>
<img src='{file="$item->medium_file_name" extension="gallery_Images"}' alt=''>
</a>
{{else}}
<a href='{$item->url()}'>
<div class='ipsNoThumb ipsNoThumb_video cSearchActivity_image'></div>
</a>
{{endif}}
</div>
</div>
</div>
</article>
</div>]]></template>
</div>
]]></template>
<template template_group="global" template_name="commentTableHeader" template_data="$comment, $image" template_location="front" template_app="gallery"><![CDATA[
<div class='ipsDataList ipsAreaBackground_light ipsClearfix'>
<div class='ipsDataItem'>
<div class='ipsDataItem_generic ipsDataItem_size2'>
{template="thumbImage" group="global" app="core" params="$image->thumb_file_name, $image->caption, 'small', 'view_this', $image->url(), 'gallery_Images'"}
{template="thumbImage" group="global" app="core" params="$image->thumb_file_name, $image->caption, 'small', '', 'view_this', $image->url(), 'gallery_Images'"}
</div>
<div class='ipsDataItem_main ipsType_break'>
<h3 class='ipsType_sectionHead'><a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}'>{$image->caption}</a></h3>
@@ -895,7 +913,7 @@
<template template_group="global" template_name="embedAlbums" template_data="$album, $url" template_location="front" template_app="gallery"><![CDATA[
<div class='ipsEmbedded ipsEmbedded_withImage'>
<div class='ipsEmbedded_headerArea'>
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-camera' data-ipsTooltip title='{lang="embed_gallery_album"}'></i> &nbsp;<a href='{$url}' title='{lang="view_this_album"}' target='_top'>{$album->_title}</a></h4>
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-camera' data-ipsTooltip title='{lang="embed_gallery_album"}'></i> &nbsp;<a href='{$url}' title='{lang="view_this_album" sprintf="$album->_title"}' target='_top'>{$album->_title}</a></h4>
</div>
<div class='ipsEmbedded_content'>
<span class='ipsType_medium'>{lang="byline_nodate" htmlsprintf="$album->owner()->link()"}</span><br>
@@ -927,16 +945,16 @@
</a>
</div>
</div>]]></template>
<template template_group="global" template_name="link" template_data="$image" template_location="global" template_app="gallery"><![CDATA[<a href="{$image->url()}" class="ipsType_blendLinks" target="_blank">{wordbreak="$image->caption"}</a>]]></template>
<template template_group="global" template_name="link" template_data="$image" template_location="global" template_app="gallery"><![CDATA[<div class='ipsContained ipsType_break'><a href="{$image->url()}" class="ipsType_blendLinks" target="_blank">{$image->caption}</a></div>]]></template>
<template template_group="global" template_name="manageFollowRow" template_data="$table, $headers, $rows, $includeFirstCommentInCommentCount=TRUE" template_location="front" template_app="gallery"><![CDATA[{{if count( $rows )}}
{{foreach $rows as $row}}
{{$idField = $row::$databaseColumnId;}}
<li class="ipsDataItem ipsDataItem_responsivePhoto {{if $row->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $row, 'tableClass' ) && $row->tableClass()}}ipsDataItem_{$row->tableClass()}{{endif}} {{if $row->hidden()}}ipsModerated{{endif}}" data-controller='core.front.system.manageFollowed' data-followID='{$row->_followData['follow_area']}-{$row->_followData['follow_rel_id']}'>
<div class='ipsDataItem_generic ipsDataItem_size2'>
<div class='ipsThumb ipsThumb_bg ipsThumb_small' style='background-image: url( {file="$row->medium_file_name" extension="gallery_Images"} )'></div>
<div class='ipsDataItem_generic ipsDataItem_size2 ipsDataItem_imageColumn'>
<div class='ipsThumb ipsThumb_bg ipsThumb_small' style='background-image: url( {expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), \IPS\File::get( 'gallery_Images', $row->medium_file_name )->url )"} )'></div>
</div>
<div class='ipsDataItem_main ipsPos_middle'>
<h4 class='ipsDataItem_title ipsType_break ipsType_normal'>
<h4 class='ipsDataItem_title ipsContained_container'>
{{if $row->mapped('locked')}}
<i class="fa fa-lock"></i>
{{endif}}
@@ -958,12 +976,14 @@
{{endif}}
{{if $row->prefix()}}
{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}
<span>{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}</span>
{{endif}}
<a href='{$row->url()}'>
{{if $row->mapped('title')}}{wordbreak="$row->mapped('title')"}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
</a>
<div class='ipsContained ipsType_break'>
<a href='{$row->url()}'>
{{if $row->mapped('title')}}{$row->mapped('title')}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
</a>
</div>
</h4>
<div class='ipsDataItem_meta ipsType_light ipsType_blendLinks' data-ipsTruncate data-ipsTruncate-size='2 lines' data-ipsTruncate-type='remove'>
{{if method_exists( $row, 'tableDescription' )}}
@@ -975,11 +995,11 @@
</div>
</div>
<div class='ipsDataItem_generic ipsDataItem_size1 ipsType_center ipsType_large'>
<div class='ipsDataItem_generic ipsDataItem_size1 ipsType_center ipsType_large cFollowedContent_anon'>
<span class='ipsBadge ipsBadge_icon ipsBadge_new {{if !$row->_followData['follow_is_anon']}}ipsHide{{endif}}' data-role='followAnonymous' data-ipsTooltip title='{lang="follow_is_anon"}'><i class='fa fa-eye-slash'></i></span>
</div>
<div class='ipsDataItem_generic ipsDataItem_size6'>
<div class='ipsDataItem_generic ipsDataItem_size6 cFollowedContent_info'>
<ul class='ipsList_reset'>
<li title='{lang="follow_when"}' data-role='followDate'><i class='fa fa-clock-o'></i> {datetime="$row->_followData['follow_added']"}</li>
<li title='{lang="follow_how"}' data-role='followFrequency'>
@@ -992,7 +1012,7 @@
</ul>
</div>
<div class='ipsDataItem_generic ipsDataItem_size6 ipsType_center'>
<div class='ipsDataItem_generic ipsDataItem_size6 ipsType_center cFollowedContent_manage'>
{template="manageFollow" group="system" app="core" params="$row->_followData['follow_app'], $row->_followData['follow_area'], $row->_followData['follow_rel_id']"}
</div>
@@ -1033,7 +1053,7 @@
{{else}}
<div class='ipsColumns ipsColumns_collapsePhone ipsColumns_noSpacing'>
<div class='ipsColumn ipsColumn_narrow ipsType_center'>
<a href='{$url}' title='{lang="view_this_image" sprintf="$itemData['image_caption']"}' data-ipsLightbox data-fullURL='{file="$itemData['image_original_file_name']" extension="gallery_Images"}'>
<a href='{$url}' title='{lang="view_this_image" sprintf="$itemData['image_caption']"}'>
{{if $image}}
<img src='{file="$image" extension="gallery_Images"}' alt='' class="ipsImage ipsStream_thumbnail ipsStream_thumbnailSmall">
{{else}}
@@ -1047,7 +1067,7 @@
{template="rating" app="core" params="'medium', $reviewRating" group="global"}
{{endif}}
{{if trim( $indexData['index_content'] ) !== ''}}
<div class='ipsType_richText ipsType_break ipsType_medium' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines'{{else}}data-searchable data-findTerm{{endif}}>
<div class='ipsType_richText ipsType_break ipsType_medium' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines' data-ipsTruncate-watch='false'{{else}}data-searchable data-findTerm{{endif}}>
{$indexData['index_content']|raw}
</div>
{{endif}}
@@ -1066,7 +1086,7 @@
{{else}}
<div class='ipsColumns ipsColumns_collapsePhone'>
<div class='ipsColumn ipsColumn_wide ipsType_center'>
<a href='{$url}' title='{lang="view_this_image" sprintf="$indexData['index_title']"}' data-ipsLightbox data-fullURL='{file="$itemData['image_original_file_name']" extension="gallery_Images"}'>
<a href='{$url}' title='{lang="view_this_image" sprintf="$indexData['index_title']"}'>
{{if $image}}
<img src='{file="$image" extension="gallery_Images"}' alt='' class="ipsImage ipsStream_thumbnail">
{{else}}
@@ -1081,7 +1101,7 @@
</p>
{{endif}}
{{if trim( $indexData['index_content'] ) !== ''}}
<div class='ipsType_richText ipsType_break ipsType_medium' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines'{{else}}data-searchable data-findTerm{{endif}}>
<div class='ipsType_richText ipsType_break ipsType_medium' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines' data-ipsTruncate-watch='false'{{else}}data-searchable data-findTerm{{endif}}>
{$indexData['index_content']|raw}
</div>
{{endif}}
@@ -1108,7 +1128,7 @@
<div class="ipsPad_half ipsType_light">
{lang="gallery_stats_disclaimer"}
</div>]]></template>
<template template_group="stats" template_name="uploadersTable" template_data="$select, $pagination" template_location="admin" template_app="gallery"><![CDATA[
<template template_group="stats" template_name="uploadersTable" template_data="$select, $pagination, $members" template_location="admin" template_app="gallery"><![CDATA[
{{if trim( $pagination )}}
{$pagination|raw}
<br><br>
@@ -1124,7 +1144,11 @@
</thead>
<tbody>
{{foreach $select as $row}}
{{$member = \IPS\Member::constructFromData( $row );}}
{{if isset( $members[ $row['image_member_id'] ] )}}
{{$member = \IPS\Member::constructFromData( $members[ $row['image_member_id'] ] );}}
{{else}}
{{$member = new \IPS\Member;}}
{{endif}}
<tr>
<td>{template="userPhoto" app="core" group="global" params="$member"} {$member->name}</td>
<td><a href='{$member->url()->setQueryString( array( 'do' => 'content', 'type' => 'gallery_image' ) )}' target='_blank'>{$row['images']}</a></td>
@@ -1148,7 +1172,7 @@
{{if \IPS\Request::i()->isAjax()}}
</div>
{{endif}}]]></template>
<template template_group="submit" template_name="chooseAlbum" template_data="$category, $createAlbumForm, $canCreateAlbum, $maximumAlbums, $existingAlbumForm" template_location="front" template_app="gallery"><![CDATA[<div class='ipsType_center ipsSpacer_top ipsSpacer_double'>
<template template_group="submit" template_name="chooseAlbum" template_data="$category, $createAlbumForm, $canCreateAlbum, $maximumAlbums, $existingAlbumForm" template_location="front" template_app="gallery"><![CDATA[<div data-controller='gallery.front.submit.chooseCategory' class='ipsType_center ipsSpacer_top ipsSpacer_double'>
<h2 class='ipsType_reset ipsType_large'>{lang="uploading_to_x" sprintf="$category->_title"}</h2>
<form action="{url="app=gallery&module=gallery&controller=submit&chosenCategory={$category->_id}&noAlbum=1" seoTemplate="gallery_submit"}">
<noscript>
@@ -1196,13 +1220,13 @@
<div class='ipsGrid_span12'>
<h2 class='ipsType_pageTitle ipsType_center ipsSpacer_bottom'>{lang="choose_category"}</h2>
{$elements['']['image_category']->html()|raw}
<div class="ipsJS_hide" data-role="continueCategory">
{{foreach $actionButtons as $button}}
{$button|raw}
{{endforeach}}
</div>
</div>
</div>
<div class="ipsAreaBackground_light ipsClearfix ipsPad ipsType_center ipsJS_hide" data-role="continueCategory">
{{foreach $actionButtons as $button}}
{$button|raw}
{{endforeach}}
</div>
</form>
</div>]]></template>
<template template_group="submit" template_name="createAlbum" template_data="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class='', $attributes=array(), $sidebar, $form=NULL" template_location="front" template_app="gallery"><![CDATA[<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} {{foreach $attributes as $k => $v}}{$k}="{$v}"{{endforeach}} data-ipsForm>
@@ -1466,18 +1490,18 @@
{{endif}}
<div class='ipsAreaBackground ipsPad cGallerySubmit_bottomBar' id='elGallerySubmit_bottomBar'>
<ul class='ipsList_inline'>
<li>
<a href='#' class='ipsButton ipsButton_veryLight ipsButton_large' id='elCopyrightMenu' data-ipsMenu data-ipsMenu-appendTo='#elGallerySubmit_bottomBar' data-ipsMenu-above='true' data-ipsMenu-closeOnClick='false'>{lang="set_copyright_all"} <i class='fa fa-caret-up'></i></a>
</li>
<li>
<a href='#' class='ipsButton ipsButton_veryLight ipsButton_large' id='elCreditMenu' data-ipsMenu data-ipsMenu-appendTo='#elGallerySubmit_bottomBar' data-ipsMenu-above='true' data-ipsMenu-closeOnClick='false'>{lang="set_credit_all"} <i class='fa fa-caret-up'></i></a>
</li>
<li>
{$elements['']['image_auto_follow']->html()|raw} <label for='check_image_auto_follow'>{lang="new_image_comments_notification"}</label>
</li>
<li class='ipsPos_right'>
<button type='submit' class='ipsButton ipsButton_primary ipsButton_large' data-action='finish'><i class='fa fa-check'></i> {lang="image_info_finish"}</button>
</li>
<li>
<a href='#' class='ipsButton ipsButton_veryLight ipsButton_large' id='elCopyrightMenu' data-ipsMenu data-ipsMenu-appendTo='#elGallerySubmit_bottomBar' data-ipsMenu-above='true' data-ipsMenu-closeOnClick='false'>Set copyright on all <i class='fa fa-caret-up'></i></a>
</li>
<li>
<a href='#' class='ipsButton ipsButton_veryLight ipsButton_large' id='elCreditMenu' data-ipsMenu data-ipsMenu-appendTo='#elGallerySubmit_bottomBar' data-ipsMenu-above='true' data-ipsMenu-closeOnClick='false'>Set credit on all <i class='fa fa-caret-up'></i></a>
</li>
<li>
{$elements['']['image_auto_follow']->html()|raw} <label for='check_image_auto_follow'>Notify me of comments on these images</label>
</li>
</ul>
</div>
@@ -1558,16 +1582,16 @@
{{endforeach}}
</ul>
</div>
<div class='cGalleryDialog_content' data-role="wizardContent">
<div class='cGalleryDialog_content {{if \IPS\gallery\Image::moderateNewItems( \IPS\Member::loggedIn() )}}cGalleryDialog_content_moderated{{endif}}' data-role="wizardContent">
{$output|raw}
</div>
</div>]]></template>
<template template_group="view" template_name="comments" template_data="$image" template_location="front" template_app="gallery"><![CDATA[<div class='ipsBox ipsSpacer_top'>
<div class='' data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$image->url()}' {{if $image->isLastPage()}}data-lastPage{{endif}} data-feedID='image-{$image->id}' id='comments'>
<div class='' data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$image->url()}' {{if $image->isLastPage()}}data-lastPage{{endif}} data-feedID='image-{$image->id}' id='comments'>
<div class='ipsPad'>
<h2 class='ipsType_sectionHead ipsSpacer_bottom' data-role="comment_count">{lang="num_comments_uc" pluralize="$image->comments"}</h2>
{{if $image->commentPageCount() > 1}}
{$image->commentPagination()|raw}
{$image->commentPagination( array('tab') )|raw}
<br><br>
{{endif}}
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
@@ -1591,7 +1615,7 @@
</div>
{{if $image->commentPageCount() > 1}}
<hr class='ipsHr'>
{$image->commentPagination()|raw}
{$image->commentPagination( array('tab') )|raw}
{{endif}}
{{if $image->commentForm() || $image->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
@@ -1615,7 +1639,8 @@
{{endif}}
</div>
</div>
</div>]]></template>
</div>
]]></template>
<template template_group="view" template_name="image" template_data="$image, $slider, $next=NULL, $prev=NULL, $hasNext=TRUE, $hasPrev=TRUE, $commentsAndReviews=FALSE" template_location="front" template_app="gallery"><![CDATA[
<div data-controller='gallery.front.view.image'>
<div id='elGalleryHeader'>
@@ -1625,7 +1650,9 @@
{template="imageSlider" group="view" app="gallery" params="$image, $slider, $next, $prev, $hasNext, $hasPrev"}
</ul>
<p class='ipsType_reset ipsType_center'>
{lang="slider_text" pluralize="$image->directContainer()->count_imgs" sprintf="$image->directContainer()->_title"}
<div class='ipsContained ipsType_break'>
{lang="slider_text" sprintf="$image->directContainer()->_title"}
</div>
</p>
</div>
</div>
@@ -1637,7 +1664,7 @@
<div data-role='imageComments'>
{{if $commentsAndReviews}}
<br>
{{if $image->directContainer()->allow_reviews && $image->directContainer()->allow_comments}}
{{if ( $image->directContainer()->allow_reviews && $image->container()->allow_reviews ) && ( $image->directContainer()->allow_comments && $image->container()->allow_comments ) }}
<a id="replies"></a>
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="user_feedback"}</h2>
{{endif}}
@@ -1651,7 +1678,7 @@
{{if $image->media }}
<div class='cGallery_videoContainer'>
{{if in_array( $image->file_type, array( 'video/ogg', 'video/webm', 'video/mp4', 'video/x-flv', 'video/3gpp' ) )}}
<video id="elGalleryVideo" class="ipsPos_center video-js vjs-default-skin" controls preload="auto" width="100%" height="100%"{{if $image->medium_file_name }} poster="{file="$image->medium_file_name" extension="gallery_Images"}"{{endif}} data-setup='{"techOrder": ["html5","flash"]}'>
<video id="elGalleryVideo" data-role="video" class="ipsPos_center video-js vjs-default-skin" controls preload="auto" width="100%" height="100%"{{if $image->medium_file_name }} poster="{file="$image->medium_file_name" extension="gallery_Images"}"{{endif}} data-setup='{"techOrder": ["html5","flash"]}'>
<source src="{file="$image->original_file_name" extension="gallery_Images"}" type='{$image->file_type}' />
</video>
{{else}}
@@ -1660,7 +1687,7 @@
{{endif}}
</div>
{{else}}
<div class='cGalleryViewImage' data-role='notesWrapper' data-controller='gallery.front.view.notes' data-imageID='{$image->id}' {{if $image->canEdit()}}data-editable{{endif}} data-notesData='{expression="( $image->notes ) ? str_replace( '\'', '&#039;', $image->notes ) : '[]'"}'>
<div class='cGalleryViewImage' data-role='notesWrapper' data-controller='gallery.front.view.notes' data-imageID='{$image->id}' {{if $image->canEdit()}}data-editable{{endif}} data-notesData='{$image->_notes_json}'>
<img src='{file="$image->masked_file_name" extension="gallery_Images"}' alt='{$image->caption}' title='{$image->caption}' data-role='theImage' class='ipsHide'>
<noscript>
@@ -1687,12 +1714,12 @@
</a>
<ul class='ipsMenu ipsMenu_auto ipsHide' id='elImage_rotate_menu'>
<li class='ipsMenu_item'>
<a href='{$image->url( 'rotate' )->setQueryString( 'direction', 'right' )}' title='{lang="rotate_right"}'>
<a href='{$image->url( 'rotate' )->csrf()->setQueryString( 'direction', 'right' )}' title='{lang="rotate_right"}'>
<i class='fa fa-rotate-right'></i> &nbsp;{lang="rotate_right"}
</a>
</li>
<li class='ipsMenu_item'>
<a href='{$image->url( 'rotate' )->setQueryString( 'direction', 'left' )}' title="{lang="rotate_left"}">
<a href='{$image->url( 'rotate' )->csrf()->setQueryString( 'direction', 'left' )}' title="{lang="rotate_left"}">
<i class='fa fa-rotate-left'></i> &nbsp;{lang="rotate_left"}
</a>
</li>
@@ -1747,13 +1774,13 @@
</ul>
{{endif}}
<span id='elGalleryImageNav'>
{{if $prev}}
<a href='{$prev->url()->setQueryString( 'browse', 1 )}' id='elGalleryImageNav_prev' data-action='prevImage' data-imageID='{$prev->id}' title='{$prev->caption}'><i class='fa fa-angle-left'></i></a>
{{endif}}
{{if $next}}
<a href='{$next->url()->setQueryString( 'browse', 1 )}' id='elGalleryImageNav_next' data-action='nextImage' data-imageID='{$next->id}' title='{$next->caption}'><i class='fa fa-angle-right'></i></a>
{{endif}}
</span>
{{if $prev}}
<a href='{$prev->url()->setQueryString( 'browse', 1 )}' id='elGalleryImageNav_prev' data-action='prevImage' data-imageID='{$prev->id}' title='{$prev->caption}'><i class='fa fa-angle-double-left'></i></a>
{{endif}}
{{if $next}}
<a href='{$next->url()->setQueryString( 'browse', 1 )}' id='elGalleryImageNav_next' data-action='nextImage' data-imageID='{$next->id}' title='{$next->caption}'><i class='fa fa-angle-double-right'></i></a>
{{endif}}
</span>
</div>]]></template>
<template template_group="view" template_name="imageInfo" template_data="$image, $slider, $next=NULL, $prev=NULL" template_location="front" template_app="gallery"><![CDATA[
<div class='ipsColumns ipsColumns_collapsePhone'>
@@ -1763,7 +1790,7 @@
<p class="ipsType_reset ipsType_normal"><i class='fa fa-warning'></i> {lang="image_pending_approval"}</p>
<br>
<ul class='ipsList_inline'>
<li><a href="{$image->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}" class="ipsButton ipsButton_small ipsButton_positive" title='{lang="approve_title"}'><i class="fa fa-check-circle"></i> &nbsp;{lang="approve"}</a></li>
<li><a href="{$image->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}" class="ipsButton ipsButton_small ipsButton_positive" title='{lang="approve_title_image"}'><i class="fa fa-check-circle"></i> &nbsp;{lang="approve"}</a></li>
{{if $image->canDelete()}}
<li><a href='{$image->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="delete_title"}' class="ipsButton ipsButton_small ipsButton_negative"><i class='fa fa-times'></i> &nbsp;{lang="delete"}</a></li>
{{endif}}
@@ -1773,11 +1800,18 @@
<div class='ipsBox ipsPad' data-role='imageDescription'>
<h1 class='ipsType_pageTitle ipsType_break'>
{{if $image->prefix()}}
{template="prefix" group="global" app="core" params="$image->prefix( TRUE ), $image->prefix()"}
{{if $image->prefix() OR ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) AND $image::canPrefix( NULL, $image->container() ) )}}
<span {{if !$image->prefix()}}class='ipsHide'{{endif}} {{if ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) AND $image::canPrefix( NULL, $image->container() ) )}}data-editablePrefix{{endif}}>
{template="prefix" group="global" app="core" params="$image->prefix( TRUE ), $image->prefix()"}
</span>
{{endif}}
{{if $image->canEdit()}}
<div class='ipsContained ipsType_break' data-controller="core.front.core.moderation">{{if $image->locked()}}<i class='fa fa-lock'></i> {{endif}}
<span data-role="editableTitle" title='{lang="click_hold_edit"}'>{$image->caption}</span>
</div>
{{else}}
<div class='ipsContained ipsType_break'>{{if $image->locked()}}<i class='fa fa-lock'></i> {{endif}}{$image->caption}</div>
{{endif}}
{{if $image->locked()}}<i class='fa fa-lock'></i> {{endif}}{wordbreak="$image->caption"}
{{if $image->hidden() === 1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
{{elseif $image->hidden() === -1}}
@@ -1801,7 +1835,7 @@
<li class='ipsType_light'>{lang="num_views_with_number" pluralize="$image->views"}</li>
{{if $image->author()->member_id OR $image->canChangeAuthor()}}
{{if $image->author()->member_id}}
<li><a href='{url="app=core&module=members&controller=members&id={$image->author()->member_id}&do=content&type=gallery_image" base="front" seoTitles="$image->author()->members_seo_name" seoTemplate="profile_content"}'>{lang="find_users_images"}</a></li>
<li><a href='{url="app=core&module=members&controller=profile&id={$image->author()->member_id}&do=content&type=gallery_image" base="front" seoTitles="$image->author()->members_seo_name" seoTemplate="profile_content"}'>{lang="find_users_images"}</a></li>
{{endif}}
{{if $image->canChangeAuthor()}}
<li><a href='{$image->url()->setQueryString( array( 'do' => 'changeAuthor' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="change_author"}" title='{lang="change_author_ititle"}'>{lang="change_author"}</a></li>
@@ -1813,12 +1847,12 @@
{{if $image->description}}
<div class='ipsType_medium ipsType_richText ipsType_break ipsSpacer_both' data-controller="core.front.core.lightboxedImages">
{$image->description|raw}
{$image->content()|raw}
</div>
{{endif}}
{{if count( $image->tags() )}}
{template="tags" group="global" app="core" params="$image->tags()"}
{{if count( $image->tags() ) OR ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) )}}
{template="tags" group="global" app="core" params="$image->tags(), FALSE, FALSE, ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) ) ? $image->url() : NULL"}
<br>
{{endif}}
@@ -1917,7 +1951,7 @@
</div>
<div class='ipsColumn ipsColumn_wide' id='elGalleryImageStats'>
<div class='ipsBox ipsPad' data-role="imageStats">
{{if $image->container()->allow_rating}}
{{if $image->directContainer()->allow_rating}}
<div class='ipsType_center'>
{$image->rating()|raw}
</div>
@@ -1960,10 +1994,12 @@
<div>
<strong class='ipsType_minorHeading'>{lang="from_the_album"}</strong>
<br>
<h3 class='ipsType_sectionHead ipsType_break'><a href='{$image->directContainer()->url()}' class='ipsType_normal'>{$image->directContainer()->_title}</a></h3>
<h3 class='ipsType_sectionHead'><div class='ipsContained ipsType_break'><a href='{$image->directContainer()->url()}' class='ipsType_normal ipsTruncate ipsTruncate_line'>{$image->directContainer()->_title}</a></div></h3>
<ul class='ipsList_inline ipsType_medium'>
<li><i class='fa fa-camera'></i> <strong>{lang="num_images" pluralize="$image->directContainer()->count_imgs"}</strong></li>
<li><i class='fa fa-comments'></i> <strong>{lang="num_comments" pluralize="$image->directContainer()->count_comments"}</strong></li>
{{if $image->container()->allow_comments and $image->directContainer()->allow_comments}}
<li><i class='fa fa-comments'></i> <strong>{lang="num_comments" pluralize="$image->directContainer()->count_comments"}</strong></li>
{{endif}}
</ul>
</div>
<hr class='ipsHr'>
@@ -2118,8 +2154,7 @@
{{endif}}
</div>]]></template>
<template template_group="view" template_name="reviews" template_data="$image" template_location="front" template_app="gallery"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$image->url()}' {{if $image->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='image-{$image->id}-reviews' id='reviews'>
{{if $image->canReview()}}
{{if $image->reviewForm()}}
{{if $image->locked()}}
<strong class='ipsType_warning'><i class='fa fa-info-circle'></i> {lang="item_locked_can_review"}</strong>
{{endif}}
@@ -2127,14 +2162,16 @@
{$image->reviewForm()|raw}
</div>
{{else}}
{{if $image->locked()}}
{template="commentUnavailable" group="forms" location="front" app="core" params="'item_locked_cannot_comment'"}
{{elseif \IPS\Member::loggedin()->restrict_post}}
{template="commentUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
{{elseif $image->hasReviewed()}}
{{if $image->hasReviewed()}}
<!-- Already reviewed -->
{{elseif \IPS\Member::loggedIn()->restrict_post}}
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment'"}
{{elseif $image->locked()}}
{template="commentUnavailable" group="forms" location="front" app="core" params="'item_locked_cannot_review'"}
{{elseif \IPS\Member::loggedin()->restrict_post}}
{{if \IPS\Member::loggedIn()->restrict_post == -1}}
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment'"}
{{else}}
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
{{endif}}
{{elseif \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
{template="reviewUnavailable" group="forms" location="front" app="core" params="'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE )"}
{{endif}}
@@ -2160,7 +2197,7 @@
</div>
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
<form action="{$image->url()->setQueryString( 'do', 'multimodReview' )}" method="post" data-ipsPageAction data-role='moderationTools'>
<form action="{$image->url()->csrf()->setQueryString( 'do', 'multimodReview' )}" method="post" data-ipsPageAction data-role='moderationTools'>
{{$reviewCount=0; $timeLastRead = $image->timeLastRead(); $lined = FALSE;}}
{{foreach $image->reviews() as $review}}
{{if !$lined and $timeLastRead and $timeLastRead->getTimestamp() < $review->mapped('date')}}
@@ -2295,23 +2332,26 @@
<a href='{$image->url()}' title='{lang="view_this_image" sprintf="$image->caption"}' class='ipsNoThumb ipsNoThumb_video ipsThumb_bg cGalleryWidget_verticalThumb'></a>
{{endif}}
{{endif}}
<div class='ipsSpacer_top ipsSpacer_half'>
<div class='ipsSpacer_top ipsSpacer_half cGalleryWidgetInfo'>
{{if $image->directContainer()->allow_comments}}
<div class="ipsCommentCount ipsPos_right {{if $image->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="num_comments" pluralize="$image->comments"}'>
{$image->comments}
</div>
{{endif}}
{{if $image->unread()}}
<a href="{$image->url()}" title='{lang="view_this_image" sprintf="$image->caption"}' class='ipsType_break ipsTruncate ipsTruncate_line cGalleryWidget_title ipsType_medium'>
<span class="ipsItemStatus ipsItemStatus_small"><i class="fa fa-circle"></i></span>
<strong>{$image->caption}</strong>
</a>
<div class='ipsTruncate ipsTruncate_line'>
<a href="{$image->url()}" title='{lang="view_this_image" sprintf="$image->caption"}' class='cGalleryWidget_title ipsType_medium'>
<span class="ipsItemStatus ipsItemStatus_small"><i class="fa fa-circle"></i></span>
<strong>{$image->caption}</strong>
</a>
</div>
{{else}}
<a href="{$image->url()}" title='{lang="view_this_image" sprintf="$image->caption"}' class='ipsType_break ipsTruncate ipsTruncate_line cGalleryWidget_title ipsType_medium'>
{$image->caption}
</a>
<div class='ipsTruncate ipsTruncate_line'>
<a href="{$image->url()}" title='{lang="view_this_image" sprintf="$image->caption"}' class='cGalleryWidget_title ipsType_medium'>
{$image->caption}
</a>
</div>
{{endif}}
<br>
<span class='ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$image->author()->link()"}</span><br>
<span class='ipsType_light ipsType_medium'>{datetime="$image->mapped('date')"}</span>
</div>
@@ -2327,13 +2367,13 @@
{{endif}}
</a>
</div>
<div>
<div class='cGalleryWidgetTitle'>
{{if $latestImage->directContainer()->allow_comments}}
<div class="ipsCommentCount ipsPos_right {{if $latestImage->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="num_comments" pluralize="$latestImage->comments"}'>
{$latestImage->comments}
</div>
{{endif}}
{{if $latestImage->unread()}}<span class="ipsItemStatus ipsItemStatus_small"><i class="fa fa-circle"></i></span> <strong>{{endif}}<a href="{$latestImage->url()}" title='{lang="view_this_image" sprintf="$latestImage->caption"}'>{wordbreak="$latestImage->caption"}</a>{{if $latestImage->unread()}}</strong>{{endif}}<br>
<div class='ipsContained ipsType_break'>{{if $latestImage->unread()}}<span class="ipsItemStatus ipsItemStatus_small"><i class="fa fa-circle"></i></span> <strong>{{endif}}<a href="{$latestImage->url()}" title='{lang="view_this_image" sprintf="$latestImage->caption"}' class='ipsTruncate ipsTruncate_line'>{$latestImage->caption}</a>{{if $latestImage->unread()}}</strong>{{endif}}</div>
<span class='ipsType_light ipsType_small'>{lang="byline_nodate" htmlsprintf="$latestImage->author()->link()"} &middot; {datetime="$latestImage->mapped('date')" norelative="true"}</span><br>
</div>
</div>]]></template>
@@ -2343,13 +2383,13 @@
<ul class='ipsDataList ipsDataList_reducedSpacing'>
{{foreach $comments as $comment}}
<li class='ipsDataItem'>
<div class='ipsDataItem_generic ipsDataItem_size1'>
<div class='ipsDataItem_icon ipsPos_top'>
{template="thumbImage" group="global" app="core" params="$comment->item()->thumb_file_name, $comment->item()->caption, 'tiny', '', 'view_this', '', 'gallery_Images'"}
</div>
<div class='ipsDataItem_main'>
<a href="{$comment->url()}" title='{lang="view_this_image" sprintf="$comment->item()->caption"}' class='ipsType_medium ipsType_break'>{wordbreak="$comment->item()->caption"}</a><br>
<div class='ipsContained ipsType_break'><a href="{$comment->url()}" title='{lang="view_this_image" sprintf="$comment->item()->caption"}' class='ipsType_medium ipsTruncate ipsTruncate_line'>{$comment->item()->caption}</a></div>
<p class='ipsType_reset ipsType_light ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$comment->author()->link()"} &middot; <a href="{$comment->url()}" class='ipsDataItem_title ipsType_break ipsType_blendLinks'>{$comment->dateLine()|raw}</a></p>
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-ipsTruncate data-ipsTruncate-type="remove" data-ipsTruncate-size="2 lines">
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half ipsType_break' data-ipsTruncate data-ipsTruncate-type="remove" data-ipsTruncate-size="2 lines">
{$comment->truncated()|raw}
</div>
</div>
@@ -2368,7 +2408,7 @@
{template="thumbImage" group="global" app="core" params="$comment->item()->thumb_file_name, $comment->item()->caption, 'tiny', '', 'view_this', '', 'gallery_Images'"}
</div>
<div class='ipsDataItem_main'>
<a href="{$comment->url()}" title='{lang="view_this_image" sprintf="$comment->item()->caption"}' class='ipsType_medium ipsType_break'>{wordbreak="$comment->item()->caption"}</a><br>
<div class='ipsContained ipsType_break'><a href="{$comment->url()}" title='{lang="view_this_image" sprintf="$comment->item()->caption"}' class='ipsType_medium ipsTruncate ipsTruncate_line'>{$comment->item()->caption}</a></div>
<p class='ipsType_reset ipsType_light ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$comment->author()->link()"}</p>
{template="rating" group="global" location="front" app="core" params="'small', $comment->rating, \IPS\Settings::i()->reviews_rating_out_of"}
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-ipsTruncate data-ipsTruncate-type="remove" data-ipsTruncate-size="2 lines">
@@ -2468,10 +2508,14 @@ html[dir=&quot;rtl&quot;] .ipsEmbedded .cGallery_albumStats {
position: relative;
top: -5px;
}
body[data-pageapp="gallery"][data-pagecontroller="view"] .cWidgetContainer:not( .ipsHide ) + div #elGalleryHeader {
margin-top: 10px;
}
}]]></css>
<css css_location="front" css_app="gallery" css_attributes="" css_path="." css_name="gallery.css"><![CDATA[/* Gallery rework */
#elGalleryHeader {
margin: 0 -15px 15px -15px;
margin: 10px -15px 15px -15px;
}
body.ipsLayout_sidebarUsed #elGalleryHeader {
@@ -2599,6 +2643,16 @@ html[dir=&quot;rtl&quot;] .ipsEmbedded .cGallery_albumStats {
padding: 0 15px;
}
#elGalleryImageNav a:hover {
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
width: 60px;
background: #1E73BE;
}
html[dir="ltr"] #elGalleryImageNav_prev {
left: 0px;
}
@@ -2773,6 +2827,11 @@ html[dir="rtl"] .cGalleryPatchwork_index .cGalleryPatchwork_item .cGalleryPatchw
text-shadow: 1px 1px 1px rgba(0,0,0,1);
}
.cGalleryCat .cGalleryCat_info > li:first-child {
position: absolute;
top: 0;
}
.cGalleryCat .ipsType_sectionHead {
bottom: 23px;
color: #fff;
@@ -3244,6 +3303,26 @@ html[dir="rtl"] .cGalleryNote_delete {
display: none;
}
.cGallerySteps > li:before {
display: inline-block;
width: 32px;
height: 32px;
line-height: 32px;
border-radius: 32px;
vertical-align: middle;
font-size: 18px;
margin-right: 5px;
margin-bottom: 0;
}
.cGalleryDialog_header {
height: 65px;
}
.ipsDialog_content .cGalleryDialog_content {
top: 65px;
}
/* Step 1: Choose album */
.cGallerySubmit_albumChoice {
margin-top: 0;
@@ -3257,12 +3336,17 @@ html[dir="rtl"] .cGalleryNote_delete {
min-height: none;
}
/* Step 2: Upload images */
.cGallerySubmit_uploadImages .cGallerySubmit_bottomBar {
height: 60px;
}
/* Info panel */
.cGallerySubmit_strip, .cGallerySubmit_infoForm, .cGallerySubmit_bottomBar, .cGallerySubmit_infoPanel {
position: absolute;
}
.cGallerySubmit_strip {
html[dir] .cGallerySubmit_strip {
top: 0;
left: 0;
right: 0;
@@ -3298,7 +3382,7 @@ html[dir="rtl"] .cGalleryNote_delete {
.cGallerySubmit_strip .cGallerySubmit_current:after {
display: none;
}
.cGallerySubmit_infoForm {
html[dir] .cGallerySubmit_infoForm {
position: absolute;
top: 100px;
bottom: 0;
@@ -3308,6 +3392,60 @@ html[dir="rtl"] .cGalleryNote_delete {
padding-right: 20px;
}
/* Bottom bar of the image info step */
.cGallerySubmit_bottomBar {
height: 115px;
}
#elGallerySubmit_bottomBar > ul {
display: block;
}
/* Reset all items so they're blocks */
#elGallerySubmit_bottomBar > ul > li {
display: block;
margin: 0;
}
/* Make buttons a bit smaller */
#elGallerySubmit_bottomBar > ul > li .ipsButton {
width: 100%;
line-height: 32px;
font-size: 12px;
}
/* Copyright/credit buttons - half-width so they share a line */
#elGallerySubmit_bottomBar > ul > li:first-child,
#elGallerySubmit_bottomBar > ul > li:first-child + li {
width: 48%;
}
#elGallerySubmit_bottomBar > ul > li:first-child {
float: left; /* Copyright - move left */
}
#elGallerySubmit_bottomBar > ul > li:first-child + li {
float: right; /* Credit - move right */
}
/* Notify option - add padding */
#elGallerySubmit_bottomBar > ul > li:first-child + li + li {
clear: both;
padding: 7px 0;
}
/* Notify option - make toggle a bit smaller (and the text) */
#elGallerySubmit_bottomBar > ul > li:first-child + li + li .ipsToggle {
zoom: 0.8;
}
#elGallerySubmit_bottomBar > ul > li:first-child + li + li label {
font-size: 12px;
}
/* Main submit button */
#elGallerySubmit_bottomBar > ul > li:last-child {
float: none;
}
.ipsApp button.cGallerySubmit_button {
position: static;
}
@@ -3563,7 +3701,11 @@ html[dir="rtl"] .cGallerySubmit_albumInfo {
right: 0;
height: auto;
}
.ipsDialog_content .cGalleryDialog_content.cGalleryDialog_content_moderated {
top: 150px;
}
.cGallerySubmit_uploadImages > form > .ipsGrid {
position: absolute;
top: 30px;
@@ -3641,8 +3783,12 @@ html[dir="rtl"] .cGallerySubmit_albumInfo {
width: 150px;
height: 150px;
margin: 0 auto;
overflow: visible;
border: 5px solid transparent;
background-color: #333;
background-size: cover;
background-position: 50%;
background-repeat: no-repeat;
overflow: hidden;
}
.cGallerySubmit_strip .cGalleryTrimmedImage a {
@@ -3651,6 +3797,10 @@ html[dir="rtl"] .cGallerySubmit_albumInfo {
display: block;
}
.cGallerySubmit_strip .cGalleryTrimmedImage img {
display: none;
}
.cGallerySubmit_strip .cGallerySubmit_current .cGalleryTrimmedImage {
border-color: #5490c0;
}
@@ -3737,6 +3887,16 @@ html[dir="rtl"] .cGallerySubmit_done:before {
margin-bottom: 5px;
}
html[dir="ltr"] .ipsWidget .cGalleryWidget .cGalleryWidgetInfo
{
padding-right: 35px;
}
.ipsWidget.ipsWidget_horizontal .cGalleryWidget .cGalleryWidgetInfo
{
max-width: 175px;
}
.cGalleryWidget > div:first-child {
margin-bottom: 5px;
background: #fff;
@@ -3755,14 +3915,15 @@ html[dir="rtl"] .cGallerySubmit_done:before {
display: block;
}
.cGalleryWidget_title {
max-width: 130px;
}
.cGalleryWidget_verticalThumb {
height: 100px;
}
.cGalleryWidget .ipsCommentCount {
margin:0;
margin-right: -40px;
}
.cGalleryWidgetList > li {
border-bottom: 1px solid #ebebeb;
padding-bottom: 10px;