Version 4.3.0
This commit is contained in:
1 parent
96997ddd8e
commit
fe1acf984a
1349 files changed
+116159
-67711
No files matched your search
@@ -44,7 +44,8 @@
|
||||
"categories_add": "categories_add",
|
||||
"categories_edit": "categories_edit",
|
||||
"categories_massManageContent": "categories_massManageContent",
|
||||
"categories_delete": "categories_delete"
|
||||
"categories_delete": "categories_delete",
|
||||
"categories_permissions": "categories_permissions"
|
||||
},
|
||||
"records": {
|
||||
"records_manage": "records_manage",
|
||||
|
||||
@@ -456,7 +456,7 @@
|
||||
{{endif}}
|
||||
|
||||
{{if $database->_description}}
|
||||
<div class='ipsPageHeader_info ipsType_light'>
|
||||
<div class='ipsPageHeader_info'>
|
||||
{$database->_description}
|
||||
</div>
|
||||
{{endif}}
|
||||
@@ -575,7 +575,7 @@
|
||||
</html>]]></template>
|
||||
<template template_key="database_display_comment" template_title="comment" template_desc="" template_location="database" template_group="display" template_params="$item, $comment, $editorName, $app, $type, $class=''" template_app="" template_type="template"><![CDATA[{{$itemIdField = $item::$databaseColumnId; $idField = $comment::$databaseColumnId;}}
|
||||
<div id='comment-{$comment->$idField}_wrap' data-controller='core.front.core.comment' data-commentApp='{$app}' data-commentType='{$type}' data-commentID="{$comment->$idField}" data-quoteData='{expression="json_encode( array('userid' => $comment->author()->member_id, 'username' => $comment->author()->name, 'timestamp' => $comment->mapped('date'), 'contentapp' => $app, 'contenttype' => $type, 'contentclass' => $class, 'contentid' => $item->$itemIdField, 'contentcommentid' => $comment->$idField) )"}' class='cPost_content ipsComment_content ipsType_medium {{if $comment->hidden()}}ipsModerated{{endif}} ipsFaded_withHover'>
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight and settings.reputation_enabled}}
|
||||
{{if settings.reputation_enabled and \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight}}
|
||||
<strong class='ipsComment_popularFlag' data-ipsTooltip title='{lang="this_is_a_popular_comment"}'><i class='fa fa-heart'></i></strong>
|
||||
{{endif}}
|
||||
|
||||
@@ -584,10 +584,14 @@
|
||||
<div>
|
||||
<div class='ipsPos_right ipsType_reset ipsType_light ipsType_blendLinks'>
|
||||
<ul class='ipsList_inline ipsComment_tools'>
|
||||
{{if $comment->canReport()}}
|
||||
{{if $comment->canReportOrRevoke() === TRUE}}
|
||||
<li><a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'><span class='ipsResponsive_showPhone ipsResponsive_inline'><i class='fa fa-flag'></i></span><span class='ipsResponsive_hidePhone ipsResponsive_inline'>{lang="report_reply"}</span></a></li>
|
||||
{{endif}}
|
||||
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_use_ip_tools') and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'modcp' ) )}}
|
||||
<li><span class='ipsResponsive_hidePhone ipsType_blendLinks'>(<a href="{url="app=core&module=modcp&controller=modcp&tab=ip_tools&ip=$comment->ip_address" seoTemplate="modcp_ip_tools"}">{lang="ip_prefix" sprintf="$comment->ip_address"}</a>) </span></li>
|
||||
{{endif}}
|
||||
|
||||
<li><a class='ipsType_blendLinks' href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' data-ipsTooltip title='{lang="share_this_comment"}' data-ipsMenu data-ipsMenu-closeOnClick='false' id='elShareComment_{$comment->id}' data-role='shareComment'><i class='fa fa-share-alt'></i></a></li>
|
||||
{{if count( $item->commentMultimodActions() )}}
|
||||
<li><span class='ipsCustomInput'>
|
||||
@@ -748,17 +752,20 @@
|
||||
{{endif}}
|
||||
|
||||
<a id='comment-{$comment->$idField}'></a>
|
||||
<article {{if $comment->author()->hasHighlightedReplies()}}data-memberGroup="{$comment->author()->member_group_id}" {{endif}} id='elComment_{$comment->$idField}' class='ipsComment {{if $otherClasses}}{$otherClasses}{{endif}} {{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight and settings.reputation_enabled}}ipsComment_popular{{endif}} ipsComment_parent ipsClearfix ipsClear {{if $comment->author()->hasHighlightedReplies()}}ipsComment_highlighted{{endif}} {{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden() OR $item->hidden() == -2}}ipsModerated{{endif}}'>
|
||||
<article {{if $comment->author()->hasHighlightedReplies()}}data-memberGroup="{$comment->author()->member_group_id}" {{endif}} id='elComment_{$comment->$idField}' class='ipsComment {{if $otherClasses}}{$otherClasses}{{endif}} {{if settings.reputation_enabled and \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight}}ipsComment_popular{{endif}} ipsComment_parent ipsClearfix ipsClear {{if $comment->author()->hasHighlightedReplies()}}ipsComment_highlighted{{endif}} {{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden() OR $item->hidden() == -2}}ipsModerated{{endif}}'>
|
||||
{template="comment" group="display" location="database" app="cms" params="$item, $comment, $item::$formLangPrefix . 'comment', $item::$application, $item::$module, $itemClassSafe"}
|
||||
</article>]]></template>
|
||||
<template template_key="database_display_comments" template_title="comments" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='comments' data-baseURL='{$record->url()}' {{if $record->isLastPage()}}data-lastPage{{endif}} data-feedID='records{$record::$customDatabaseId}-{$record->_id}' id='comments'>
|
||||
|
||||
{template="featuredComments" group="global" app="core" params="$record->featuredComments(), $record->url()->setQueryString('tab', 'comments')->setQueryString('recommended', 'comments')"}
|
||||
{template="commentMultimodHeader" app="core" group="global" params="$record, '#comments'"}
|
||||
|
||||
|
||||
{{if $record->commentPageCount() > 1}}
|
||||
{$record->commentPagination( array( 'tab' ) )|raw}
|
||||
<br><br>
|
||||
{{endif}}
|
||||
|
||||
{template="featuredComments" group="global" app="core" params="$record->featuredComments(), $record->url()->setQueryString('tab', 'comments')->setQueryString('recommended', 'comments')"}
|
||||
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
|
||||
{{if count( $record->comments( NULL, NULL, 'date', 'asc', NULL, NULL, NULL, NULL, FALSE, isset( \IPS\Request::i()->showDeleted ) ) )}}
|
||||
<form action="{$record->url()->csrf()->setQueryString( 'do', 'multimodComment' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
@@ -782,7 +789,7 @@
|
||||
<hr class='ipsHr'>
|
||||
{$record->commentPagination( array( 'tab' ) )|raw}
|
||||
{{endif}}
|
||||
{{if $record->commentForm() || $record->locked() || \IPS\Member::loggedin()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{{if $record->commentForm() || $record->locked() || \IPS\Member::loggedin()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings'] || !\IPS\Member::loggedIn()->checkPostsPerDay()}}
|
||||
<br><br>
|
||||
<div class='ipsAreaBackground ipsPad' data-role='replyArea'>
|
||||
{{if $record->commentForm()}}
|
||||
@@ -797,6 +804,8 @@
|
||||
{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 \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE )"}
|
||||
{{elseif !\IPS\Member::loggedIn()->checkPostsPerDay()}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'member_exceeded_posts_per_day'"}
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -844,7 +853,7 @@
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
</span>
|
||||
{{endif}}
|
||||
{{if $record->canEdit()}}
|
||||
{{if $record->canEditTitle()}}
|
||||
<span class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
|
||||
<span data-role="editableTitle" title='{lang="click_hold_edit"}'>{$record->_title}</span>
|
||||
</span>
|
||||
@@ -864,7 +873,7 @@
|
||||
|
||||
<hr class='ipsHr'>
|
||||
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix ipsSpacer_bottom'>
|
||||
<div class='ipsBox_alt ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix ipsSpacer_bottom'>
|
||||
{template="userPhoto" app="core" group="global" params="$record->author(), 'tiny', $record->warningRef()"}
|
||||
<div>
|
||||
<p class='ipsType_reset ipsType_large ipsType_blendLinks'>
|
||||
@@ -890,7 +899,11 @@
|
||||
{template="tags" group="global" app="core" params="$record->tags(), FALSE, FALSE, ( $record->canEdit() AND $record::canTag( NULL, $record->container() ) ) ? $record->url() : NULL"}
|
||||
{{endif}}
|
||||
|
||||
{template="contentItemMessages" group="global" app="core" params="$record->getMessages(), $record"}
|
||||
{{if count($record->getMessages())}}
|
||||
<div class='ipsSpacer ipsSpacer_top'>
|
||||
{template="contentItemMessages" group="global" app="core" params="$record->getMessages(), $record"}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
<article class='ipsContained ipsSpacer_top ipsBox ipsPad'>
|
||||
<div class='ipsClearfix'>
|
||||
@@ -906,9 +919,9 @@
|
||||
{{endif}}
|
||||
|
||||
{{if $records = $record->getReciprocalItems()}}
|
||||
{{$infoLineShown = FALSE;}}
|
||||
<br>
|
||||
{{foreach $records as $fieldId => $items}}
|
||||
{{$infoLineShown = FALSE;}}
|
||||
<ul class="ipsList_inline ipsList_csv ipsList_noSpacing">
|
||||
{{foreach $items as $item}}
|
||||
<li>{{if ! $infoLineShown}}{{$infoLineShown=TRUE;}}{lang="records_linking_to_me" sprintf="$item::database()->recordWord(0,TRUE), $record::database()->recordWord(1)"}: {{endif}}<a href="{$item->url()}">{$item->_title}</a></li>
|
||||
@@ -987,7 +1000,7 @@
|
||||
{{if $record->canEdit()}}
|
||||
<li><a href='{$record->url('edit')->csrf()}' title='{lang="edit"}' class='ipsButton ipsButton_verySmall ipsButton_link ipsButton_fullWidth'>{lang="edit"}</a></li>
|
||||
{{endif}}
|
||||
{{if $record->canReport()}}
|
||||
{{if $record->canReportOrRevoke() === TRUE}}
|
||||
<li><a href='{$record->url('report')}' class='ipsButton ipsButton_verySmall ipsButton_link ipsButton_fullWidth' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}">{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}</a></li>
|
||||
{{endif}}
|
||||
{{if $record->canManageRevisions()}}
|
||||
@@ -1053,7 +1066,7 @@
|
||||
]]></template>
|
||||
<template template_key="database_display_recordEditLine" template_title="recordEditLine" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[
|
||||
<p class='ipsType_reset ipsType_medium ipsType_light' data-excludequote>
|
||||
<strong>{lang="date_edited" htmlsprintf="\IPS\DateTime::ts( $record->record_edit_time )->html(FALSE), htmlspecialchars( $record->record_edit_member_name, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE )"}</strong>
|
||||
<strong>{lang="date_edited" htmlsprintf="\IPS\DateTime::ts( $record->record_edit_time )->html(FALSE), htmlspecialchars( $record->record_edit_member_name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE )"}</strong>
|
||||
{{if $record->record_edit_reason}}
|
||||
<br>{$record->record_edit_reason}
|
||||
{{endif}}
|
||||
@@ -1069,7 +1082,7 @@
|
||||
{template="userPhoto" app="core" group="global" params="$review->author(), 'small', $review->warningRef(), 'ipsPos_left'"}
|
||||
<div>
|
||||
<p class='ipsPos_right ipsType_reset'>
|
||||
{{if $review->canReport()}}
|
||||
{{if $review->canReportOrRevoke() === TRUE}}
|
||||
<a href='{$review->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report"}'>{lang="report"}</a> ·
|
||||
{{endif}}
|
||||
|
||||
@@ -1109,8 +1122,33 @@
|
||||
<div id="review-{$review->id}" data-role="commentContent" class="ipsType_richText ipsType_normal ipsContained" data-controller='core.front.core.lightboxedImages'>
|
||||
{$review->content()|raw}
|
||||
</div>
|
||||
|
||||
{{if $review->hasAuthorResponse()}}
|
||||
<div class='ipsReviewResponse ipsPad ipsSpacer_bottom ipsAreaBackground_light ipsClearfix'>
|
||||
<h4 class='ipsType_sectionHead ipsType_medium ipsType_bold ipsSpacer_bottom ipsType_light'>{lang="review_response_title"}</h4>
|
||||
<div data-role="reviewResponse" class="ipsType_richText ipsType_normal ipsContained ipsType_light" data-controller='core.front.core.lightboxedImages'>
|
||||
{$review->mapped('author_response')|raw}
|
||||
</div>
|
||||
|
||||
{{if $review->canEditResponse() OR $review->canDeleteResponse()}}
|
||||
<ul class='ipsComment_controls ipsClearfix ipsPos_right'>
|
||||
{{if $review->canEditResponse()}}
|
||||
<li><a class="ipsType_light" href='{$review->url('editResponse')}' data-ipsDialog data-ipsDialog-title='{lang="review_author_respond"}'>{lang="edit"}</a></li>
|
||||
{{endif}}
|
||||
{{if $review->canDeleteResponse()}}
|
||||
<li><a class="ipsType_light" href='{$review->url('deleteResponse')}' data-confirm>{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
{{if $review->hidden() !== 1}}
|
||||
{{if $review->canRespond()}}
|
||||
<div class='ipsPos_right ipsType_medium ipsSpacer_bottom ipsSpacer_half'>
|
||||
<a href='{$review->url('respond')}' class='ipsButton ipsButton_verySmall ipsButton_light' data-role='respond' data-ipsDialog data-ipsDialog-title='{lang="review_author_respond"}'>{lang="review_author_respond"}</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if member.member_id and ( !$review->mapped('votes_data') or !array_key_exists( member.member_id, json_decode( $review->mapped('votes_data'), TRUE ) ) ) and $review->author()->member_id != \IPS\Member::loggedIn()->member_id}}
|
||||
<span class='ipsType_medium'><strong>{lang="did_you_find_this_helpful"}</strong> <a href='{$review->url('rate')->setQueryString( 'helpful', TRUE )->csrf()}' class='ipsButton ipsButton_verySmall ipsButton_light' data-action="rateReview"><i class='fa fa-check'></i> {lang="yes"}</a> <a href='{$review->url('rate')->setQueryString( 'helpful', FALSE )->csrf()}' class='ipsButton ipsButton_verySmall ipsButton_light' data-action="rateReview"><i class='fa fa-times'></i> {lang="no"}</a></span>
|
||||
<br class='ipsClear'>
|
||||
@@ -1230,6 +1268,7 @@
|
||||
{{if count( $record->reviews( NULL, NULL, NULL, 'desc', NULL, NULL, NULL, NULL, isset( \IPS\Request::i()->showDeleted ) ) )}}
|
||||
{{if !$record->hasReviewed()}}<hr class='ipsHr'>{{endif}}
|
||||
<div class="ipsClearfix ipsSpacer_bottom">
|
||||
{template="commentMultimodHeader" app="core" group="global" params="$record, '#reviews', 'review'"}
|
||||
{{if $record->reviewPageCount() > 1}}
|
||||
<div class="ipsPos_left ipsResponsive_noFloat">
|
||||
{$record->reviewPagination( array( 'tab', 'sort' ) )|raw}
|
||||
@@ -1274,14 +1313,14 @@
|
||||
<template template_key="database_form_recordForm" template_title="recordForm" template_desc="" template_location="database" template_group="form" template_params="$record, $category, $database, $page, $title, $hasModOptions, $id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class=''" template_app="" template_type="template"><![CDATA[{{$modOptions = array( 'create_record_state', 'record_expiry_date', 'record_pinned', 'record_allow_comments', 'record_comment_cutoff', 'record_meta_keywords', 'record_meta_description' );}}
|
||||
{template="pageHeader" if="!\IPS\Request::i()->isAjax()" group="global" app="core" params="\IPS\Member::loggedIn()->language()->addToStack( $title )"}
|
||||
<div id="elCmsPageWrap" data-pageid="{$page->id}">
|
||||
<form accept-charset='utf-8' class="ipsForm {$class}" data-ipsForm="true" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}}>
|
||||
<form accept-charset='utf-8' class="ipsForm {$class}" data-ipsForm data-ipsFormSubmit action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}}>
|
||||
<input type="hidden" name="{$id}_submitted" value="1">
|
||||
{{foreach $hiddenValues as $k => $v}}
|
||||
<input type="hidden" name="{$k}" value="{$v}">
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
|
||||
<input type="hidden" name="content_record_form_container" value="{$category->_id}">
|
||||
{{endif}}
|
||||
|
||||
@@ -1404,7 +1443,7 @@
|
||||
{lang="or"}
|
||||
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" role='checkbox' data-control="unlimited{{if count( $input->toggles )}} toggle{{endif}}" name="{$input->name}_unlimited" id='{$input->name}_unlimited' value="{$input->options['unlimited']}" {{if $input->options['unlimited'] === $input->value}}checked aria-checked='true'{{endif}} {{if $input->options['disabled']}}disabled{{endif}} {{if count( $input->toggles )}}{{if $input->toggleOn === FALSE}}data-togglesOff{{else}}data-togglesOn{{endif}}="{expression="implode( ',', $input->toggles )"}"{{endif}} aria-labelledby='label_{$input->name}_unlimited'>
|
||||
<input type="checkbox" role='checkbox' data-control="unlimited{{if $input->toggles AND count( $input->toggles )}} toggle{{endif}}" name="{$input->name}_unlimited" id='{$input->name}_unlimited' value="{$input->options['unlimited']}" {{if $input->options['unlimited'] === $input->value}}checked aria-checked='true'{{endif}} {{if $input->options['disabled']}}disabled{{endif}} {{if $input->toggles AND count( $input->toggles )}}{{if $input->toggleOn === FALSE}}data-togglesOff{{else}}data-togglesOn{{endif}}="{expression="implode( ',', $input->toggles )"}"{{endif}} aria-labelledby='label_{$input->name}_unlimited'>
|
||||
<span></span>
|
||||
</span>
|
||||
<label for='{$input->name}_unlimited' id='label_{$input->name}_unlimited' class='ipsField_unlimited'>{lang="never"}</label>
|
||||
@@ -1442,7 +1481,7 @@
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
|
||||
<input type="hidden" name="content_record_form_container" value="{$category->_id}">
|
||||
{{endif}}
|
||||
|
||||
@@ -1694,7 +1733,7 @@
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_{$table->uniqueId}_menu">
|
||||
{{$custom = TRUE;}}
|
||||
{{foreach $table->sortOptions as $k => $col}}
|
||||
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{{if $col == 'title'}}asc{{else}}desc{{endif}}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => ( $col == 'title' ) ? 'asc' : 'desc', 'page' => '1' ) )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ), 'page' => '1' ) )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
|
||||
@@ -1831,6 +1870,7 @@
|
||||
{{$idField = $row::$databaseColumnId;}}
|
||||
{{$rowIds[] = $row->$idField;}}
|
||||
{{endforeach}}
|
||||
{{$iposted = $table ? $table->contentPostedIn : array();}}
|
||||
{{foreach $rows as $row}}
|
||||
{{$idField = $row::$databaseColumnId;}}
|
||||
<li class="cCmsRecord_row 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-rowID='{$row->$idField}'>
|
||||
@@ -1838,10 +1878,10 @@
|
||||
<div class='ipsDataItem_icon ipsPos_top'>
|
||||
{{if $row->unread()}}
|
||||
<a href='{$row->url( 'getNewComment' )}' title='{lang="first_unread_post"}' data-ipsTooltip>
|
||||
<span class='ipsItemStatus'><i class="fa {{if in_array( $row->$idField, $table->contentPostedIn )}}fa-star{{else}}fa-circle{{endif}}"></i></span>
|
||||
<span class='ipsItemStatus'><i class="fa {{if in_array( $row->$idField, $iposted )}}fa-star{{else}}fa-circle{{endif}}"></i></span>
|
||||
</a>
|
||||
{{else}}
|
||||
{{if in_array( $row->$idField, $table->contentPostedIn )}}
|
||||
{{if in_array( $row->$idField, $iposted )}}
|
||||
<span class='ipsItemStatus ipsItemStatus_read ipsItemStatus_posted'><i class="fa fa-star"></i></span>
|
||||
{{else}}
|
||||
|
||||
@@ -1934,6 +1974,12 @@
|
||||
{{else}}
|
||||
{lang="cms_row_added_by" htmlsprintf="$row->author()->link()"}
|
||||
{{endif}}
|
||||
{{elseif $row->database()->_comment_bump & \IPS\cms\Databases::BUMP_ON_EDIT}}
|
||||
{{if $row->record_edit_time > 0}}
|
||||
{lang="cms_row_updated_by" htmlsprintf="\IPS\Member::load( $row->record_edit_member_id )->link()"}
|
||||
{{else}}
|
||||
{lang="cms_row_added_by" htmlsprintf="$row->author()->link()"}
|
||||
{{endif}}
|
||||
{{else}}
|
||||
{{if $row->record_edit_time > 0}}
|
||||
{lang="cms_row_updated_by" htmlsprintf="$row->lastCommenter()->link()"}
|
||||
@@ -1945,7 +1991,11 @@
|
||||
|
||||
<li class="ipsType_light">
|
||||
<a href='{$row->url( 'getLastComment' )}' title='{lang="get_last_post"}'>
|
||||
{{if $row->mapped('num_comments')}}{datetime="$row->mapped('last_comment')"}{{else}}{datetime="$row->mapped('date')"}{{endif}}
|
||||
{{if $row->database()->_comment_bump & \IPS\cms\Databases::BUMP_ON_COMMENT}}
|
||||
{{if $row->mapped('num_comments')}}{datetime="$row->mapped('last_comment')"}{{else}}{datetime="$row->mapped('date')"}{{endif}}
|
||||
{{else}}
|
||||
{{if $row->record_edit_time > 0}}{datetime="$row->record_edit_time"}{{else}}{datetime="$row->mapped('date')"}{{endif}}
|
||||
{{endif}}
|
||||
</a>
|
||||
</li>
|
||||
{{else}}
|
||||
|
||||
@@ -233,9 +233,9 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 9,
|
||||
"length": 10,
|
||||
"name": "record_views",
|
||||
"type": "MEDIUMINT",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"values": [
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</td>
|
||||
</tr>]]></template_content_html><template_data>$comment, $email</template_data><template_content_plaintext><![CDATA[{{$item = $comment->item();}}
|
||||
{$email->language->addToStack("x_commented_cms", FALSE, array( 'sprintf' => array( $comment->author()->name, $item::database()->recordWord( 1 ) ) ) )}: {$comment->item()->_title} ({$comment->url()})
|
||||
]]></template_content_plaintext></template><template><template_app>cms</template_app><template_name>digests__item</template_name><template_content_html><![CDATA[<tr style='border-bottom: 1px solid #eeeeee'>
|
||||
]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>cms</template_app><template_name>digests__item</template_name><template_content_html><![CDATA[<tr style='border-bottom: 1px solid #eeeeee'>
|
||||
<td dir='{dir}' width='40' align='center' valign='top' class=' '>
|
||||
<img src='{$entry->author()->get_photo( true, true )}' width='32' height='32' style='border: 1px solid #000; vertical-align: middle;'>
|
||||
</td>
|
||||
@@ -34,4 +34,4 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>]]></template_content_html><template_data>$entry, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("x_created_cms_in", FALSE, array( 'sprintf' => array( $entry->author()->name, $entry::database()->recordWord( 1 ), $entry->container()->_title ) ) )}: {$entry->_title} ({$entry->url()})
|
||||
]]></template_content_plaintext></template></emails>
|
||||
]]></template_content_plaintext><template_pinned>0</template_pinned></template></emails>
|
||||
@@ -38,5 +38,17 @@
|
||||
"topics": {
|
||||
"type": "S",
|
||||
"class": "\\IPS\\Theme\\class_forums_front_topics"
|
||||
},
|
||||
"Parser": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\Text\\Parser"
|
||||
},
|
||||
"forums": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\forums\\modules\\admin\\forums\\forums"
|
||||
},
|
||||
"Forum": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\forums\\Forum"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="cms">
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -142,7 +142,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="102002" javascript_position="1000100">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -187,7 +187,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="102002" javascript_position="1000100">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -250,7 +250,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -385,7 +385,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="103005" javascript_position="1000200">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -422,7 +422,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="103005" javascript_position="1000300"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -451,6 +451,8 @@
|
||||
this.on( 'click', '[data-action="deleteSelected"]', this.deleteSelected );
|
||||
this.on( 'keydown', '[data-role="mediaSearch"]', this.searchKeyPress );
|
||||
this.on( 'submitDialog', '[data-role="uploadButton"]', this.dialogSubmitted );
|
||||
this.on( 'submitDialog', '[data-role="replaceFile"]', this.replaceDialogSubmitted );
|
||||
this.on( 'click', '[data-role="replaceFile"]', this.uploadNewFile );
|
||||
this.on( window, 'resize', this.resizePanels );
|
||||
this.setup();
|
||||
},
|
||||
@@ -515,6 +517,32 @@
|
||||
ips.ui.flashMsg.show( ips.pluralize( ips.getString('mediaUploadedCount'), data.response.count ) );
|
||||
},
|
||||
|
||||
/**
|
||||
* Dialog submit handler from uploading process
|
||||
* The dialog response will include an array of media items in this folder. We'll use
|
||||
* this data to rebuild the file listing, thereby showing the new files immediately.
|
||||
*
|
||||
* @param {event} e Event object
|
||||
* @param {object} data Event data object
|
||||
* @returns {void}
|
||||
*/
|
||||
replaceDialogSubmitted: function (e, data) {
|
||||
var newHTML = [];
|
||||
var folderID = data.response.folderID;
|
||||
|
||||
_.each( data.response.rows, function (file, key) {
|
||||
newHTML.push( file );
|
||||
});
|
||||
|
||||
this._cachedFolders[ folderID ] = newHTML;
|
||||
this._buildFileListing( folderID, newHTML );
|
||||
delete this._cachedFileInfo[ data.response.fileID ];
|
||||
|
||||
ips.ui.flashMsg.show( ips.getString('mediaUploadedReplace') );
|
||||
|
||||
this._fileListing.find('[data-fileid="' + data.response.fileID + '"]').click();
|
||||
},
|
||||
|
||||
/**
|
||||
* keypress event handler for the search text box
|
||||
*
|
||||
@@ -691,6 +719,26 @@
|
||||
this._checkDeleteButton();
|
||||
},
|
||||
|
||||
/**
|
||||
* Show the dialog to replace the current file we are viewing
|
||||
*
|
||||
* @returns {void}
|
||||
*/
|
||||
uploadNewFile: function( e ) {
|
||||
if( e ){
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
var itemId = this._getSelected().closest('[data-role="mediaItem"]').attr('data-fileid');
|
||||
|
||||
$( e.currentTarget ).ipsDialog( {
|
||||
remoteSubmit: true,
|
||||
forceReload: true,
|
||||
url: $( e.currentTarget ).attr('data-baseUrl') + itemId,
|
||||
title: ips.getString('replaceMediaFile')
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks whether any files are selected and displays the delete button if so
|
||||
*
|
||||
@@ -832,15 +880,16 @@
|
||||
this._sidebar.find('[data-role="multipleItemsMessage"]').html( language );
|
||||
// Show the message box
|
||||
this._sidebar.find('[data-role="itemInformation"]').hide().end().find('[data-role="multipleItems"]').show();
|
||||
this._sidebar.find('[data-role="replaceFile"]').hide();
|
||||
} else {
|
||||
|
||||
// Build the file info
|
||||
var info = {
|
||||
itemFilename: selected.attr('data-filename'),
|
||||
itemUploaded: selected.attr('data-uploaded'),
|
||||
itemTag: '{media="' + selected.attr('data-path') + '"}',
|
||||
itemTag: '{media="' + selected.attr('data-fileid') + '"}',
|
||||
itemID: selected.attr('data-fileid'),
|
||||
itemIsImage: selected.is('[data-isImage]'),
|
||||
itemIsImage: ( selected.attr('[data-fileType]') == 'image' ),
|
||||
itemFilesize: null,
|
||||
itemDimensions: null
|
||||
};
|
||||
@@ -899,6 +948,7 @@
|
||||
|
||||
// Hide the 'multiple items selected' div and show our info div
|
||||
this._sidebar.find('[data-role="itemInformation"]').show().end().find('[data-role="multipleItems"]').hide();
|
||||
this._sidebar.find('[data-role="replaceFile"]').show();
|
||||
|
||||
$( document ).trigger( 'contentChange', [ this._sidebar ] );
|
||||
}
|
||||
@@ -1010,7 +1060,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="102002" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="103005" javascript_position="1000250"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1056,7 +1106,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="102002" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="103005" javascript_position="1000250"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1149,7 +1199,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="102002" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1261,7 +1311,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="102002" javascript_position="1000100">/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1293,7 +1343,7 @@
|
||||
_.each( self.scope.find("[data-key]"), function(elem){
|
||||
if( $(elem).attr('data-method') == 'merge' )
|
||||
{
|
||||
CodeMirror.MergeView( document.getElementById( $(elem).attr('id') ), {
|
||||
CodeMirror.MergeView( document.getElementById( $(elem).identify().attr('id') ), {
|
||||
value: self.scope.find( '[data-original="' + $(elem).attr('data-key') + '"]' ).val(),
|
||||
origLeft: self.scope.find( '[data-current="' + $(elem).attr('data-key') + '"]' ).val(),
|
||||
lineWrapping: true,
|
||||
@@ -1316,7 +1366,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="102002" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="103005" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1366,7 +1416,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="102002" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="103005" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1438,7 +1488,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="102002" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="103005" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2304,7 +2354,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="102002" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="103005" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2646,7 +2696,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="102002" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="103005" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2687,7 +2737,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="102002" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="103005" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2725,7 +2775,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.area.js" javascript_type="mixins" javascript_version="102002" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.area.js" javascript_type="mixins" javascript_version="103005" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2794,7 +2844,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.block.js" javascript_type="mixins" javascript_version="102002" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.block.js" javascript_type="mixins" javascript_version="103005" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2902,7 +2952,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="102002" javascript_position="1000300"><![CDATA[ips.templates.set( 'templates.media.grid', "\
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="103005" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
|
||||
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='100' data-ipsGrid-maxItemSize='200'>\
|
||||
{{{contents}}}\
|
||||
</ul>\
|
||||
@@ -2919,7 +2969,7 @@ ips.templates.set( 'templates.media.noSearchResults', "\
|
||||
{{#lang}}mediaNoResults{{/lang}}\
|
||||
</div>\
|
||||
");]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="102002" javascript_position="1000300"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="103005" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
|
||||
/* TEMPLATECEPTION */
|
||||
ips.templates.set('templates.editor.newTab', " \
|
||||
<li data-fileid='{{fileid}}' data-location='{{location}}'>\
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="cms" version="102002">
|
||||
<app key="cms" version="103005">
|
||||
<word key="__app_cms" js="0">Pages</word>
|
||||
<word key="menutab__cms" js="0">Pages</word>
|
||||
<word key="menutab__cms_icon" js="0">files-o</word>
|
||||
@@ -14,8 +14,13 @@
|
||||
<word key="rebuilding_cms_database_reciprocal_map" js="0">Rebuilding %s reciprocal maps (field ID %s)</word>
|
||||
<word key="rebuilding_cms_database_records" js="0">Rebuilding %s records</word>
|
||||
<word key="rebuilding_cms_database_sync_topics" js="0">Rebuilding %s synchronized topics</word>
|
||||
<word key="cms_page" js="0">Page</word>
|
||||
<word key="cms_pages_pageitem_pl" js="0">Pages</word>
|
||||
<word key="cms_page_pl_lc" js="0">pages</word>
|
||||
<word key="cms_page_pl" js="0">Pages</word>
|
||||
<word key="module_no_permission" js="0">No permission</word>
|
||||
<word key="converting_pages_34x" js="0">Converting bbcode pages to HTML</word>
|
||||
<word key="content_theme_dev_cannot_write_template" js="0">Could not write the file %s</word>
|
||||
<word key="sitemap_cms_Databases" js="0">Database Records</word>
|
||||
<word key="sitemap_cms_Pages" js="0">Pages</word>
|
||||
<word key="sitemap_databases_count" js="0">Number of records to include</word>
|
||||
@@ -33,7 +38,7 @@
|
||||
<word key="can_unhide_record" js="0">Can unhide %s?</word>
|
||||
<word key="can_view_hidden_record" js="0">Can view a hidden %s?</word>
|
||||
<word key="can_move_record" js="0">Can move %s?</word>
|
||||
<word key="can_move_record_desc" js="0">Will be able to move only between the categories they have permission to moderate, not to any other category.</word>
|
||||
<word key="can_move_record_desc" js="0">Will be able to move only between the categories they can create new content within.</word>
|
||||
<word key="can_lock_record" js="0">Can lock %s?</word>
|
||||
<word key="can_unlock_record" js="0">Can unlock %s?</word>
|
||||
<word key="can_reply_to_locked_record" js="0">Can reply to a locked %s?</word>
|
||||
@@ -600,14 +605,14 @@
|
||||
<word key="database_lang_ia" js="0">Indefinite Article</word>
|
||||
<word key="database_lang_ia_desc" js="0">Default is 'a record'</word>
|
||||
<word key="database_all_editable" js="0">Wiki-style editing</word>
|
||||
<word key="database_all_editable_desc" js="0"><![CDATA[Enabling this option will allow <strong>any user to edit</strong> any non-locked item, similar to a wiki. When not enabled, users can only edit their own non-locked item (with appropriate permissions).]]></word>
|
||||
<word key="database_all_editable_desc" js="0"><![CDATA[Enabling this option will allow <strong>any user to edit</strong> any non-locked item, regardless of category or database edit permissions, similar to a wiki. When not enabled, users can only edit their own non-locked item (with appropriate permissions).]]></word>
|
||||
<word key="cms_bitoptions_indefinite_own_edit" js="0">Edit own records indefinitely</word>
|
||||
<word key="cms_bitoptions_indefinite_own_edit_desc" js="0"><![CDATA[Enabling this option will allow the record author to edit their own unlocked and not hidden records indefinitely.<br />When not enabled, the <a href='{internal.app=core&module=members&controller=groups}'>member group</a> content editing permissions are used.]]></word>
|
||||
<word key="database_revisions" js="0">Store revisions</word>
|
||||
<word key="database_revisions_desc" js="0">When users or admins edit the items in this database, a copy of the original item will be stored which can be restored or compared later</word>
|
||||
<word key="database_search" js="0">Allow searching</word>
|
||||
<word key="database_comment_bump" js="0">Update the last action</word>
|
||||
<word key="database_comment_bump_desc" js="0">The Last Action shows in the category view and is how items are sorted by default/can be used to sort items.</word>
|
||||
<word key="database_comment_bump_desc" js="0">The last action shows in the category view and is how items are sorted by default/can be used to sort items. Note that adjusting this setting is not retroactive and will only apply to comments made or records that are edited moving forward.</word>
|
||||
<word key="database_comment_bump_edit_comment" js="0">When the item is edited or a new comment is made</word>
|
||||
<word key="database_comment_bump_edit" js="0">When the item is edited only</word>
|
||||
<word key="database_comment_bump_comment" js="0">When a new comment is made only</word>
|
||||
@@ -643,6 +648,7 @@
|
||||
<word key="database_forum_record__rebuild" js="0"><![CDATA[<a href='%s' data-ipsDialog data-ipsDialog-title='Rebuild Synchronized Topic Content'>Rebuild synchronized topic content</a>.]]></word>
|
||||
<word key="database_forum_comments" js="0">Use forum for comments</word>
|
||||
<word key="database_forum_comments_desc" js="0">Comments will be posted as replies. If you change the way comments are stored, your existing comments will no longer be displayed. Comments are not copied to the forums or to the internal comments database if you change this setting.</word>
|
||||
<word key="database_forum_comments__rebuild" js="0"><![CDATA[<a href='%s' data-ipsDialog data-ipsDialog-title='Rebuild Comment Counts'>Rebuild Comment Counts</a>.]]></word>
|
||||
<word key="database_forum_forum" js="0">Forum</word>
|
||||
<word key="database_forum_prefix" js="0">Topic prefix</word>
|
||||
<word key="database_forum_suffix" js="0">Topic suffix</word>
|
||||
@@ -693,7 +699,7 @@
|
||||
<word key="cms_database_permissions" js="0">Database Permissions</word>
|
||||
<word key="database_use_categories" js="0">Use categories</word>
|
||||
<word key="database_use_categories_desc" js="0">You can optionally not use categories which means that the default home page for this database is the record list, and the category name is not added to the URL.</word>
|
||||
<word key="database_use_categories_impossible" js="0">You have %s categories in this database. You can only have 1 category to store records in the database directly.</word>
|
||||
<word key="database_use_categories_impossible" js="0">You have %s categories in this database. You can only have 1 category to store records in the database directly. If you wish to disable category support please move articles to a single category and delete the no longer needed categories.</word>
|
||||
<word key="database_use_categories_yes" js="0"><![CDATA[<strong>Yes</strong>, allow records to be stored in different categories]]></word>
|
||||
<word key="database_use_categories_no" js="0"><![CDATA[<strong>No</strong>, store records in the database directly]]></word>
|
||||
<word key="cms_db_cats_disabled" js="0"><![CDATA[<em>Categories not used</em>]]></word>
|
||||
@@ -729,6 +735,8 @@
|
||||
<word key="database_rebuild_topics_desc" js="0">This tool will add a background task to resychronize the content generated in the first post of a topic created by this database. It will also create topics for records if a topic does not exist.</word>
|
||||
<word key="database_rebuild_topics_button" js="0">Continue</word>
|
||||
<word key="database_rebuild_added" js="0">Rebuild task added to the queue.</word>
|
||||
<word key="database_rebuild_commentcount_desc" js="0">This tool will add a background task to recount the number of comments and reviews for each item.</word>
|
||||
<word key="database_rebuild_commentcount_button" js="0">Continue</word>
|
||||
<word key="menu__cms_pages_media" js="0">Media</word>
|
||||
<word key="r__media" js="0">Media</word>
|
||||
<word key="r__media_manage" js="0">View Media</word>
|
||||
@@ -741,6 +749,7 @@
|
||||
<word key="cms_search_media" js="0">Search media...</word>
|
||||
<word key="media_folders" js="0">Folders</word>
|
||||
<word key="media_file_overview" js="0">File Overview</word>
|
||||
<word key="replace_media_file" js="0">Replace file...</word>
|
||||
<word key="media_root_folder" js="0">Pages Media</word>
|
||||
<word key="media_tag_title" js="0">Media Tag</word>
|
||||
<word key="media_tag_desc" js="0">Insert this tag in your pages/templates to insert this media item.</word>
|
||||
@@ -919,6 +928,7 @@
|
||||
<word key="content_err_page_500" js="0">The page could not be displayed at this time. Please try again later.</word>
|
||||
<word key="content_err_page_500_admin" js="0">There is a parse error in the page.</word>
|
||||
<word key="cms_delete_linked_topic" js="0">This topic is used for %s comments and cannot be deleted</word>
|
||||
<word key="cms_forum_used" js="0"><![CDATA[This forum is used by the Pages App to store comments for a database and cannot be deleted.<br/>Please remove the association from database %s to proceed]]></word>
|
||||
<word key="digest_area_cms_cms" js="0">%s</word>
|
||||
<word key="x_created_cms_in" js="0">%s posted a %s in %s</word>
|
||||
<word key="x_created_cms_in_embed" js="0">%s posted %s in %s</word>
|
||||
@@ -951,9 +961,14 @@
|
||||
<word key="record_category_id" js="0">Category</word>
|
||||
<word key="copy_comments" js="0">Copy posts?</word>
|
||||
<word key="copy_comments_desc" js="0">Setting this to Yes will also copy all posts on the topic and add them as comments on the new %s</word>
|
||||
<word key="copy_comments_assoc_desc" js="0">Setting this to Yes will associate the new %s with the existing topic, which will result in the existing posts being treated as comments on the %s</word>
|
||||
<word key="copy_author" js="0">Use original author?</word>
|
||||
<word key="copy_author_desc" js="0">Setting this to Yes will make the author of the new %s the same as the topic. Otherwise, your account will be used</word>
|
||||
<word key="copying_comments" js="0">Copying Comments...</word>
|
||||
<word key="comments_show_message" js="0">Show item message?</word>
|
||||
<word key="comments_meta_message" js="0">Message</word>
|
||||
<word key="comments_meta_color" js="0">Message color</word>
|
||||
<word key="default_copyposts_message" js="0">Please be aware that these comments were copied here from another source and that the date and time shown for each comment may not be accurate.</word>
|
||||
<word key="cms_download_db" js="1">Download Database</word>
|
||||
<word key="cms_download_db_explain" js="1"><![CDATA[This will download a file with the database settings, templates, custom fields and categories which can be uploaded to another community.<br>Records are <em>not</em> included.]]></word>
|
||||
<word key="index_as_categories" js="1">Show categories</word>
|
||||
@@ -965,5 +980,7 @@
|
||||
<word key="mediaErrorDeleting" js="1">There was an error deleting {!# [1:this file][?:these files]}</word>
|
||||
<word key="mediaNoResults" js="1">No files match your search term</word>
|
||||
<word key="mediaUploadedCount" js="1">{!# [1:A file was][?:# files were]} added to this folder</word>
|
||||
<word key="replaceMediaFile" js="1">Replace File</word>
|
||||
<word key="mediaUploadedReplace" js="1">The file has been updated</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -15,8 +15,8 @@
|
||||
"protected": 0
|
||||
},
|
||||
"database": {
|
||||
"default_controller": "",
|
||||
"protected": false
|
||||
"default_controller": "index",
|
||||
"protected": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -391,7 +391,9 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci"
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_containers": {
|
||||
"name": "cms_containers",
|
||||
@@ -1089,7 +1091,9 @@
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"engine": "InnoDB"
|
||||
"engine": "InnoDB",
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_database_categories": {
|
||||
"name": "cms_database_categories",
|
||||
@@ -1661,8 +1665,22 @@
|
||||
"columns": [
|
||||
"category_database_id"
|
||||
]
|
||||
},
|
||||
"category_select": {
|
||||
"type": "key",
|
||||
"name": "category_select",
|
||||
"columns": [
|
||||
"category_parent_id",
|
||||
"category_position"
|
||||
],
|
||||
"length": [
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_database_comments": {
|
||||
"name": "cms_database_comments",
|
||||
@@ -1908,9 +1926,20 @@
|
||||
"length": [
|
||||
null
|
||||
]
|
||||
},
|
||||
"comment_ip_address": {
|
||||
"type": "key",
|
||||
"name": "comment_ip_address",
|
||||
"columns": [
|
||||
"comment_ip_address"
|
||||
],
|
||||
"length": [
|
||||
null
|
||||
]
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_database_fields": {
|
||||
"name": "cms_database_fields",
|
||||
@@ -2313,7 +2342,9 @@
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"engine": "InnoDB"
|
||||
"engine": "InnoDB",
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_database_revisions": {
|
||||
"name": "cms_database_revisions",
|
||||
@@ -2437,7 +2468,8 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_folders": {
|
||||
"name": "cms_folders",
|
||||
@@ -2545,7 +2577,9 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci"
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_pages": {
|
||||
"name": "cms_pages",
|
||||
@@ -2868,7 +2902,7 @@
|
||||
"type": "key",
|
||||
"name": "page_full_path",
|
||||
"length": [
|
||||
250
|
||||
191
|
||||
],
|
||||
"columns": [
|
||||
"page_full_path"
|
||||
@@ -2877,17 +2911,19 @@
|
||||
"page_folder": {
|
||||
"type": "key",
|
||||
"name": "page_folder",
|
||||
"length": [
|
||||
null,
|
||||
181
|
||||
],
|
||||
"columns": [
|
||||
"page_folder_id",
|
||||
"page_seo_name"
|
||||
],
|
||||
"length": [
|
||||
null,
|
||||
191
|
||||
]
|
||||
}
|
||||
},
|
||||
"collation": "utf8_unicode_ci"
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_templates": {
|
||||
"name": "cms_templates",
|
||||
@@ -3451,6 +3487,20 @@
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"review_author_response": {
|
||||
"name": "review_author_response",
|
||||
"type": "MEDIUMTEXT",
|
||||
"length": null,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
@@ -3498,13 +3548,29 @@
|
||||
"type": "key",
|
||||
"name": "review_author",
|
||||
"columns": [
|
||||
"review_author",
|
||||
"review_date"
|
||||
],
|
||||
"length": [
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
"review_item": {
|
||||
"type": "key",
|
||||
"name": "review_item",
|
||||
"columns": [
|
||||
"review_item",
|
||||
"review_author"
|
||||
],
|
||||
"length": [
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_media": {
|
||||
"name": "cms_media",
|
||||
@@ -3634,7 +3700,9 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci"
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_media_folders": {
|
||||
"name": "cms_media_folders",
|
||||
@@ -3718,7 +3786,9 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci"
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"comment": "",
|
||||
"reporting": "count"
|
||||
},
|
||||
"cms_database_fields_reciprocal_map": {
|
||||
"name": "cms_database_fields_reciprocal_map",
|
||||
@@ -3881,6 +3951,20 @@
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"thumb_record_id": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 10,
|
||||
"name": "thumb_record_id",
|
||||
"type": "INT",
|
||||
"unsigned": true,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
|
||||
@@ -1,50 +1,62 @@
|
||||
[
|
||||
{
|
||||
"key": "cms_error_page",
|
||||
"default": "0"
|
||||
"default": "0",
|
||||
"report": "bool"
|
||||
},
|
||||
{
|
||||
"key": "cms_promote_cat",
|
||||
"default": "0"
|
||||
"default": "0",
|
||||
"report": "bool"
|
||||
},
|
||||
{
|
||||
"key": "cms_promote_enabled",
|
||||
"default": "0"
|
||||
"default": "0",
|
||||
"report": "full"
|
||||
},
|
||||
{
|
||||
"key": "cms_promote_groups",
|
||||
"default": "*"
|
||||
"default": "*",
|
||||
"report": "bool"
|
||||
},
|
||||
{
|
||||
"key": "cms_root_page_url",
|
||||
"default": ""
|
||||
"default": "",
|
||||
"report": "bool"
|
||||
},
|
||||
{
|
||||
"key": "cms_root_path",
|
||||
"default": ""
|
||||
"default": "",
|
||||
"report": "bool"
|
||||
},
|
||||
{
|
||||
"key": "cms_use_different_gateway",
|
||||
"default": "0"
|
||||
"default": "0",
|
||||
"report": "full"
|
||||
},
|
||||
{
|
||||
"key": "page_extension",
|
||||
"default": ".html"
|
||||
"default": ".html",
|
||||
"report": "full"
|
||||
},
|
||||
{
|
||||
"key": "sitemap_databases_count",
|
||||
"default": "-1"
|
||||
"default": "-1",
|
||||
"report": "full"
|
||||
},
|
||||
{
|
||||
"key": "sitemap_databases_priority",
|
||||
"default": "1"
|
||||
"default": "1",
|
||||
"report": "full"
|
||||
},
|
||||
{
|
||||
"key": "sitemap_pages_count",
|
||||
"default": "-1"
|
||||
"default": "-1",
|
||||
"report": "full"
|
||||
},
|
||||
{
|
||||
"key": "sitemap_pages_priority",
|
||||
"default": "1"
|
||||
"default": "1",
|
||||
"report": "full"
|
||||
}
|
||||
]
|
||||
@@ -115,6 +115,15 @@
|
||||
<a class="ipsPos_right ipsBadge ipsBadge_style1" href="{$page->url()}" target="_blank">{lang="cms_db_used_on_page" sprintf="$page->_title"}</a>
|
||||
{{endif}}
|
||||
<p class='ipsType_light'>{$database->_description}</p>]]></template>
|
||||
<template template_group="databases" template_name="rebuildCommentCounts" template_data="$id" template_location="admin" template_app="cms"><![CDATA[
|
||||
<div class='acpBlock'>
|
||||
<div class="ipsPad">
|
||||
{lang="database_rebuild_commentcount_desc"}
|
||||
<p>
|
||||
<a href='{url="app=cms&module=databases&controller=databases&do=rebuildCommentCounts&id={$id}&process=1"}' class="ipsButton ipsButton_primary">{lang="database_rebuild_commentcount_button"}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="databases" template_name="rebuildTopics" template_data="$id" template_location="admin" template_app="cms"><![CDATA[
|
||||
<div class='acpBlock'>
|
||||
<div class="ipsPad">
|
||||
@@ -153,24 +162,24 @@
|
||||
<template template_group="global" template_name="embedRecord" template_data="$item, $url" template_location="front" template_app="cms"><![CDATA[
|
||||
{{$image = NULL;}}
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$item, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_cms_in_embed', FALSE, array( 'sprintf' => array( $item->author()->name, $item->indefiniteArticle(), $item->container()->_title ) ) ), $item->mapped('date')"}
|
||||
{template="embedHeader" group="embed" app="core" params="$item, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_cms_in_embed', FALSE, array( 'sprintf' => array( $item->author()->name, $item->indefiniteArticle(), $item->container()->_title ) ) ), $item->mapped('date'), $url"}
|
||||
{{if $item->record_image}}
|
||||
{{$image = \IPS\File::get( "cms_Records", $item->record_image );}}
|
||||
{{elseif count( $item->contentImages() )}}
|
||||
{{$attachType = key( $item->contentImages()[0] );}}
|
||||
{{$image = \IPS\File::get( $attachType, $item->contentImages()[0][ $attachType ] );}}
|
||||
{{elseif $contentImage = $item->contentImages(1)}}
|
||||
{{$attachType = key( $contentImage[0] );}}
|
||||
{{$image = \IPS\File::get( $attachType, $contentImage[0][ $attachType ] );}}
|
||||
{{endif}}
|
||||
|
||||
{{if $image}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$item->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
|
||||
<a href='{$url}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
|
||||
<img src='{$image->url}' class='ipsHide' alt=''>
|
||||
</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsPad'>
|
||||
<div class='ipsPad_double'>
|
||||
<h3 class='ipsRichEmbed_itemTitle ipsTruncate ipsTruncate_line ipsType_blendLinks'>
|
||||
<a href='{$item->url()}' title="{$item->mapped('title')}">{$item->mapped('title')}</a>
|
||||
<a href='{$url}' title="{$item->mapped('title')}">{$item->mapped('title')}</a>
|
||||
</h3>
|
||||
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
|
||||
{$item->truncated(TRUE)|raw}
|
||||
@@ -191,20 +200,20 @@
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedRecordComment" template_data="$comment, $item, $url" template_location="front" template_app="cms"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_commented_cms_embed', FALSE, array( 'sprintf' => array( $comment->author()->name, $item->indefiniteArticle() ) ) ), $comment->mapped('date')"}
|
||||
<div class='ipsPad'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_commented_cms_embed', FALSE, array( 'sprintf' => array( $comment->author()->name, $item->indefiniteArticle() ) ) ), $comment->mapped('date'), $url"}
|
||||
<div class='ipsPad_double'>
|
||||
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
|
||||
<div>
|
||||
{{if $item->record_image}}
|
||||
{{$image = \IPS\File::get( "cms_Records", $item->record_image );}}
|
||||
{{elseif count( $item->contentImages() )}}
|
||||
{{$attachType = key( $item->contentImages()[0] );}}
|
||||
{{$image = \IPS\File::get( $attachType, $item->contentImages()[0][ $attachType ] );}}
|
||||
{{elseif $contentImage = $item->contentImages(1)}}
|
||||
{{$attachType = key( $contentImage[0] );}}
|
||||
{{$image = \IPS\File::get( $attachType, $contentImage[0][ $attachType ] );}}
|
||||
{{endif}}
|
||||
|
||||
{{if $image}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$item->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
|
||||
<a href='{$url}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
|
||||
<img src='{$image->url}' class='ipsHide' alt=''>
|
||||
</a>
|
||||
</div>
|
||||
@@ -219,7 +228,7 @@
|
||||
{$comment->truncated(TRUE)|raw}
|
||||
</div>
|
||||
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
|
||||
{{if settings.reputation_enabled and \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() )}}
|
||||
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
|
||||
<li>
|
||||
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
|
||||
@@ -240,20 +249,20 @@
|
||||
{{endif}}]]></template>
|
||||
<template template_group="global" template_name="embedRecordReview" template_data="$comment, $item, $url" template_location="front" template_app="cms"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_reviewed_cms_embed', FALSE, array( 'sprintf' => array( $comment->author()->name, $item->indefiniteArticle() ) ) ), $comment->mapped('date')"}
|
||||
<div class='ipsPad'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_reviewed_cms_embed', FALSE, array( 'sprintf' => array( $comment->author()->name, $item->indefiniteArticle() ) ) ), $comment->mapped('date'), $url"}
|
||||
<div class='ipsPad_double'>
|
||||
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
|
||||
<div>
|
||||
{{if $item->record_image}}
|
||||
{{$image = \IPS\File::get( "cms_Records", $item->record_image );}}
|
||||
{{elseif count( $item->contentImages() )}}
|
||||
{{$attachType = key( $item->contentImages()[0] );}}
|
||||
{{$image = \IPS\File::get( $attachType, $item->contentImages()[0][ $attachType ] );}}
|
||||
{{elseif $contentImage = $item->contentImages(1)}}
|
||||
{{$attachType = key( $contentImage[0] );}}
|
||||
{{$image = \IPS\File::get( $attachType, $contentImage[0][ $attachType ] );}}
|
||||
{{endif}}
|
||||
|
||||
{{if $image}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$item->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
|
||||
<a href='{$url}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
|
||||
<img src='{$image->url}' class='ipsHide' alt=''>
|
||||
</a>
|
||||
</div>
|
||||
@@ -273,7 +282,7 @@
|
||||
{$comment->truncated(TRUE)|raw}
|
||||
</div>
|
||||
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
|
||||
{{if settings.reputation_enabled and \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() )}}
|
||||
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
|
||||
<li>
|
||||
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
|
||||
@@ -293,11 +302,11 @@
|
||||
{{endif}}]]></template>
|
||||
<template template_group="media" template_name="fileListing" template_data="$url, $item" template_location="admin" template_app="cms"><![CDATA[
|
||||
{{if $item instanceof \IPS\cms\Media}}
|
||||
<li class='ipsGrid_span4' data-role='mediaItem' data-fileid='{$item->id}' data-uploaded='{datetime="$item->added" dateonly="true"}' data-path='{$item->full_path}' data-filename='{$item->filename}' data-url='{$item->url()}' {{if $item->is_image}}data-isImage{{endif}}>
|
||||
<li class='ipsGrid_span4' data-role='mediaItem' data-fileid='{$item->id}' data-uploaded='{datetime="$item->added" dateonly="true"}' data-path='{$item->full_path}' data-filename='{$item->filename}' data-url='{$item->url()}?_cb={expression="time()"}' data-fileType='{{if $item->is_image}}image{{else}}file{{endif}}'>
|
||||
<div class='cMedia_item {{if $item->is_image}}cMedia_itemImage{{endif}}'>
|
||||
<div class='ipsAreaBackground_light'>
|
||||
{{if $item->is_image}}
|
||||
<img src='{$item->url()}'>
|
||||
<img src='{$item->url()}?_cb={expression="time()"}'>
|
||||
{{else}}
|
||||
<div class='ipsNoThumb'></div>
|
||||
{{endif}}
|
||||
@@ -358,6 +367,7 @@
|
||||
<input type='text' class='ipsField_fullWidth' value='' data-role='itemTag'>
|
||||
<p class='ipsType_small ipsType_light'>{lang="media_tag_desc"}</p>
|
||||
</div>
|
||||
|
||||
<hr class='ipsHr'>
|
||||
|
||||
<ul class='ipsList_reset ipsSpacer_top'>
|
||||
@@ -378,6 +388,12 @@
|
||||
<p class='ipsType_reset ipsType_medium' data-role='itemDimensions'></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr class='ipsHr'>
|
||||
|
||||
<div class='ipsSpacer_top'>
|
||||
<a href='#' class='ipsType_medium' data-role='replaceFile' data-baseUrl="{url="app=cms&module=pages&controller=media&do=replace&id="}">{lang="replace_media_file"}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div data-role='multipleItems'>
|
||||
<div class='ipsPad ipsType_large ipsType_light ipsType_center ipsSpacer_top ipsSpacer_double' data-role='multipleItemsMessage'></div>
|
||||
@@ -389,7 +405,7 @@
|
||||
<div class='cMedia_managerToolbar'>
|
||||
<ul class='ipsToolList ipsToolList_horizontal'>
|
||||
{{if $rootButtons['add_page']}}
|
||||
<li class='ipsPos_left'><a href='{url="app=cms&module=pages&controller=media&do=upload"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-remoteSubmit data-ipsDialog-title='{lang="cms_add_media"}' class='ipsButton ipsButton_normal ipsButton_small ipsButton_fullWidth' data-role='uploadButton'><i class='fa fa-cloud-upload'></i> {lang="cms_add_media"}</a></li>
|
||||
<li class='ipsPos_left'><a href='{url="app=cms&module=pages&controller=media&do=upload"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-remoteSubmit data-ipsDialog-title='{lang="cms_add_media"}' class='ipsButton ipsButton_primary ipsButton_small ipsButton_fullWidth' data-role='uploadButton'><i class='fa fa-cloud-upload'></i> {lang="cms_add_media"}</a></li>
|
||||
{{endif}}
|
||||
<li class='ipsPos_left ipsHide' data-action='deleteFolder'><a href='{url="app=cms&module=pages&controller=media&do=delete"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-remoteVerify="false" data-ipsDialog-title='{lang="delete"}' class='ipsButton ipsButton_negative ipsButton_small ipsButton_fullWidth'><i class='fa fa-times'></i> {lang="cms_delete_folder_media"}</a></li>
|
||||
<li class='ipsPos_left ipsHide' data-action='deleteSelected'><a href='#' class='ipsButton ipsButton_negative ipsButton_small ipsButton_fullWidth'><i class='fa fa-times'></i> {lang="cms_delete_selected_media"}</a></li>
|
||||
@@ -453,7 +469,7 @@
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
|
||||
{{endif}}
|
||||
<div class='ipsComposeArea ipsComposeArea_withPhoto ipsClearfix ipsContained'>
|
||||
<div class='ipsPos_left ipsResponsive_hidePhone ipsResponsive_block'>{template="userPhoto" app="core" group="global" params="\IPS\Member::loggedIn(), 'small'"}</div>
|
||||
@@ -541,7 +557,7 @@
|
||||
</span>
|
||||
{{endif}}
|
||||
{$title}]]></template>
|
||||
<template template_group="records" template_name="youtube" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<div class='ipsEmbeddedVideo {{if \IPS\Settings::i()->max_video_width > 0}}ipsEmbeddedVideo_limited{{endif}}' contenteditable="false"><div><iframe id="ytplayer" type="text/html" {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} src="$url"></iframe></div></div>]]></template>
|
||||
<template template_group="records" template_name="youtube" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<div class='ipsEmbeddedVideo' contenteditable="false"><div><iframe id="ytplayer" type="text/html" {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} src="$url"></iframe></div></div>]]></template>
|
||||
<template template_group="revisions" template_name="rows" template_data="$table, $headers, $rows" template_location="front" template_app="cms"><![CDATA[{{foreach $rows as $row}}
|
||||
<article class='ipsComment ipsComment_parent ipsClearfix ipsClear'>
|
||||
<div class='ipsComment_header ipsPhotoPanel ipsPhotoPanel_mini ipsPhotoPanel_notPhone'>
|
||||
@@ -572,7 +588,7 @@
|
||||
<div class='ipsGrid_span6 ipsPad' data-current='{$key}'>{$diff['current']}</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='ipsPagesDiff' data-key='{$key}' data-method='merge' id="{expression="md5(uniqid())"}"></div>
|
||||
<div class='ipsPagesDiff' data-key='{$key}' data-method='merge'></div>
|
||||
<textarea class='ipsHide' data-original='{$key}'>{$diff['original']}</textarea>
|
||||
<textarea class='ipsHide' data-current='{$key}'>{$diff['current']}</textarea>
|
||||
{{endif}}
|
||||
@@ -659,7 +675,7 @@
|
||||
<div class='ipsGrid_span6 ipsPad' data-current='{$key}'>{$data['current']}</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='ipsPagesDiff' data-key='{$key}' data-method='merge' id="{expression="md5(uniqid())"}"></div>
|
||||
<div class='ipsPagesDiff' data-key='{$key}' data-method='merge'></div>
|
||||
<textarea class='ipsHide' data-original='{$key}'>{$data['original']}</textarea>
|
||||
<textarea class='ipsHide' data-current='{$key}'>{$data['current']}</textarea>
|
||||
{{endif}}
|
||||
@@ -717,7 +733,7 @@
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
|
||||
{{endif}}
|
||||
|
||||
{{if $hasModOptions}}
|
||||
@@ -1054,7 +1070,7 @@
|
||||
{{foreach $items as $item}}
|
||||
<li class='ipsDataItem'>
|
||||
<div class='ipsDataItem_main'>
|
||||
<div class='ipsType_break ipsContained'><a href="{$item['link']}" target="_blank" rel="noopener noreferrer" class='ipsTruncate ipsTruncate_line'>{$item['title']}</a></div>
|
||||
<div class='ipsType_break ipsContained'><a href="{$item['link']}" target="_blank" rel="noopener" class='ipsTruncate ipsTruncate_line'>{$item['title']}</a></div>
|
||||
<span class='ipsType_light ipsType_small'>{datetime="$item['date']"}</span>
|
||||
</div>
|
||||
</li>
|
||||
@@ -1323,7 +1339,7 @@ html[dir="rtl"] .cMedia_manager > .ipsColumns > .ipsColumn_fluid .cMedia_manager
|
||||
}]]></css>
|
||||
<css css_location="front" css_app="cms" css_attributes="" css_path="pages" css_name="page.css">/* ----- */
|
||||
|
||||
.ipsWidget.ipsWidget_horizontal[data-blockid^="app_cms"] {
|
||||
.ipsWidget.ipsWidget_horizontal[data-blockid^="app_cms"]:not([data-blockid^="app_cms_RecordFeed"]) {
|
||||
padding: 0px !important;
|
||||
background: transparent;
|
||||
border: none;
|
||||
|
||||
@@ -206,5 +206,56 @@
|
||||
"101117": "4.2.0 Beta 8",
|
||||
"102000": "4.2.0",
|
||||
"102001": "4.2.0",
|
||||
"102002": "4.2.0"
|
||||
"102002": "4.2.0",
|
||||
"102003": "4.2.0",
|
||||
"102004": "4.2.1",
|
||||
"102005": "4.2.2 Beta 1",
|
||||
"102006": "4.2.2 Beta 2",
|
||||
"102007": "4.2.2",
|
||||
"102008": "4.2.2",
|
||||
"102009": "4.2.2",
|
||||
"102010": "4.2.3 Beta 1",
|
||||
"102011": "4.2.3",
|
||||
"102012": "4.2.3",
|
||||
"102013": "4.2.3",
|
||||
"102014": "4.2.4 Beta 1",
|
||||
"102015": "4.2.4 Beta 2",
|
||||
"102016": "4.2.4",
|
||||
"102017": "4.2.4",
|
||||
"102018": "4.2.4",
|
||||
"102019": "4.2.4",
|
||||
"102020": "4.2.4",
|
||||
"102021": "4.2.5 Beta 1",
|
||||
"102022": "4.2.5 Beta 2",
|
||||
"102023": "4.2.5 Beta 3",
|
||||
"102024": "4.2.5",
|
||||
"102025": "4.2.5",
|
||||
"102026": "4.2.5",
|
||||
"102027": "4.2.5",
|
||||
"102028": "4.2.5",
|
||||
"102029": "4.2.5",
|
||||
"102030": "4.2.6 Beta 1",
|
||||
"102031": "4.2.6 Beta 1",
|
||||
"102032": "4.2.6 Beta 2",
|
||||
"102033": "4.2.6 Beta 3",
|
||||
"102034": "4.2.6",
|
||||
"102035": "4.2.6",
|
||||
"102036": "4.2.6",
|
||||
"102037": "4.2.7 Beta 1",
|
||||
"102038": "4.2.7 Beta 2",
|
||||
"102039": "4.2.7 Beta 3",
|
||||
"102040": "4.2.7 Beta 4",
|
||||
"102041": "4.2.7 Beta 5",
|
||||
"102042": "4.2.7",
|
||||
"102043": "4.2.7",
|
||||
"102044": "4.2.7",
|
||||
"102045": "4.2.7",
|
||||
"102046": "4.2.7",
|
||||
"102047": "4.2.8",
|
||||
"102048": "4.2.8",
|
||||
"103000": "4.3.0 Beta 1",
|
||||
"103002": "4.3.0 Beta 2",
|
||||
"103003": "4.3.0 Beta 3",
|
||||
"103004": "4.3.0 Beta 4",
|
||||
"103005": "4.3.0"
|
||||
}
|
||||
Reference in new issue
Block a user