AntonLV 9 лет назад
Родитель
Сommit
358f68a387

+ 1 - 0
inc/params.inc.php

@@ -42,6 +42,7 @@ define('BX_DOL_TRANSCODER_OBJ_ICON_APPLE', 'sys_icon_apple');
 define('BX_DOL_TRANSCODER_OBJ_ICON_FACEBOOK', 'sys_icon_facebook');
 define('BX_DOL_TRANSCODER_OBJ_ICON_FAVICON', 'sys_icon_favicon');
 define('BX_DOL_TRANSCODER_OBJ_COVER', 'sys_cover');
+define('BX_DOL_TRANSCODER_OBJ_COVER_UNIT_PROFILE', 'sys_cover_unit_profile');
 
 //--- Module types ---//
 if (!defined('BX_DOL_MODULE_TYPE_MODULE')) {

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
install/sql/system.sql


+ 11 - 1
modules/base/profile/classes/BxBaseModProfileTemplate.php

@@ -49,12 +49,22 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
         $oConn = BxDolConnection::getObjectInstance($sConnectionsObject);
         $aConnectionTitles = $this->getModule()->serviceGetConnectionButtonsTitles($oProfile->id(), $sConnectionsObject);
 
+        $sCoverUrl = '';
+        if($this->getModule()->checkAllowedViewCoverImage($aData) === CHECK_ACTION_RESULT_ALLOWED)
+            $sCoverUrl = $this->urlCoverUnit($aData, false);
+
+        if(empty($sCoverUrl) && ($iCoverId = (int)getParam('sys_unit_cover_profile')) != 0)
+            $sCoverUrl = BxDolTranscoder::getObjectInstance(BX_DOL_TRANSCODER_OBJ_COVER_UNIT_PROFILE)->getFileUrlById($iCoverId);
+
+        if(empty($sCoverUrl))
+            $sCoverUrl = $this->getImageUrl('cover.jpg');
+
         // generate html
         $aVars = array (
         	'class' => $this->_getUnitClass($aData, $sTemplateName),
             'id' => $aData[$CNF['FIELD_ID']],
             'thumb_url' => $isPublic ? $this->thumb ($aData) : $this->getImageUrl('no-picture-thumb.png'),
-            'cover_url' => CHECK_ACTION_RESULT_ALLOWED === $this->getModule()->checkAllowedViewCoverImage($aData) ? $this->urlCoverUnit ($aData, true) : $this->getImageUrl('cover.jpg'),
+            'cover_url' => $sCoverUrl,
             'content_url' => $isPublic ? $sUrl : 'javascript:void(0);',
             'title' => bx_process_output($aData[$CNF['FIELD_NAME']]),
             'module_name' => _t($CNF['T']['txt_sample_single']),

+ 3 - 2
modules/boonex/english/data/langs/system/en.xml

@@ -605,13 +605,14 @@
 	<string name="_adm_dsg_scs_save"><![CDATA[The changes were successfully saved]]></string>
 	<string name="_adm_dsg_txt_alt_text"><![CDATA[Logo Text]]></string>
 	<string name="_adm_dsg_txt_cover_common"><![CDATA[Default pages cover]]></string>
+	<string name="_adm_dsg_txt_cover_unit_profile"><![CDATA[Default profile unit cover]]></string>
 	<string name="_adm_dsg_txt_splash_enabled"><![CDATA[Enable splash page]]></string>
 	<string name="_adm_dsg_txt_default"><![CDATA[default]]></string>
 	<string name="_adm_dsg_txt_icon_apple"><![CDATA[Apple Touch Devices (152x152)]]></string>
 	<string name="_adm_dsg_txt_icon_facebook"><![CDATA[Facebook Share (100x100)]]></string>
 	<string name="_adm_dsg_txt_icon_favicon"><![CDATA[Favicon (16x16)]]></string>
-	<string name="_adm_dsg_txt_upload_cover_common"><![CDATA[Upload New Common Pages Cover]]></string>
-	<string name="_adm_dsg_txt_upload_cover_home"><![CDATA[Upload New Home Page Cover]]></string>
+	<string name="_adm_dsg_txt_upload_cover_common"><![CDATA[Upload new common pages cover]]></string>
+	<string name="_adm_dsg_txt_upload_cover_unit_profile"><![CDATA[Upload new profile unit cover]]></string>
 	<string name="_adm_dsg_txt_upload_icon"><![CDATA[Upload New Site Icon]]></string>
 	<string name="_adm_dsg_txt_upload_image"><![CDATA[Upload New Logo Image]]></string>
 	<string name="_adm_dsg_txt_upload_image_preview"><![CDATA[Current Logo Image]]></string>

+ 2 - 1
modules/boonex/russian/data/langs/system/ru.xml

@@ -603,13 +603,14 @@
 	<string name="_adm_dsg_scs_save"><![CDATA[Изменения удачно сохранены]]></string>
 	<string name="_adm_dsg_txt_alt_text"><![CDATA[Текст лого]]></string>
 	<string name="_adm_dsg_txt_cover_common"><![CDATA[Стандартная обложка страницы]]></string>
+	<string name="_adm_dsg_txt_cover_unit_profile"><![CDATA[Стандартная обложка миниатюры профиля]]></string>
 	<string name="_adm_dsg_txt_splash_enabled"><![CDATA[Включить титульную страницу]]></string>
 	<string name="_adm_dsg_txt_default"><![CDATA[по умолчанию]]></string>
 	<string name="_adm_dsg_txt_icon_apple"><![CDATA[Устройства Apple Touch (152x152)]]></string>
 	<string name="_adm_dsg_txt_icon_facebook"><![CDATA[Facebook (100x100)]]></string>
 	<string name="_adm_dsg_txt_icon_favicon"><![CDATA[Favicon (16x16)]]></string>
 	<string name="_adm_dsg_txt_upload_cover_common"><![CDATA[Загрузить новое изображение обложки обычных страниц]]></string>
-	<string name="_adm_dsg_txt_upload_cover_home"><![CDATA[Загрузить новое изображение обложки главной страницы]]></string>
+	<string name="_adm_dsg_txt_upload_cover_unit_profile"><![CDATA[Загрузить новое изображение обложки миниатюры профиля]]></string>
 	<string name="_adm_dsg_txt_upload_icon"><![CDATA[Загрузить новую иконку сайта]]></string>
 	<string name="_adm_dsg_txt_upload_image"><![CDATA[Загрузить новую лого-картинку]]></string>
 	<string name="_adm_dsg_txt_upload_image_preview"><![CDATA[Текущая лого-картинка]]></string>

+ 12 - 1
studio/classes/BxDolStudioDesigner.php

@@ -48,7 +48,18 @@ class BxDolStudioDesigner extends BxTemplStudioPage
 		$this->sParamLogoHeight = 'sys_site_logo_height';
 
 		$this->aCovers = array(
-        	'cover_common' => array('setting' => 'sys_site_cover_common', 'title' => '_adm_dsg_txt_cover_common'),
+        	'cover_common' => array(
+        		'setting' => 'sys_site_cover_common',
+		        'transcoder' => BX_DOL_TRANSCODER_OBJ_COVER,
+        		'title' => '_adm_dsg_txt_cover_common', 
+        		'template' => 'dsr_cover_preview_page.html'
+		    ),
+			'cover_unit_profile' => array(
+				'setting' => 'sys_unit_cover_profile',
+		    	'transcoder' => BX_DOL_TRANSCODER_OBJ_COVER_UNIT_PROFILE, 
+				'title' => '_adm_dsg_txt_cover_unit_profile', 
+				'template' => 'dsr_cover_preview_unit_profile.html'
+		    )
         );
     }
 

+ 48 - 0
studio/template/css/cover.css

@@ -0,0 +1,48 @@
+@import url(../../../template/css/cover.css);
+
+/**
+ * Profile Unit Cover
+ */
+.bx-base-pofile-unit-with-cover {
+    display: inline-block;
+    overflow: hidden;
+}
+
+.bx-base-pofile-unit-cover {
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-justify-content: center;
+    justify-content: center;
+
+    height: 7.5rem;
+
+    line-height: 7.5rem;
+    text-align: center;
+
+    background-repeat: no-repeat;
+    background-position: center center;
+    -webkit-background-size: cover;
+    -moz-background-size: cover;
+    -o-background-size: cover;
+    background-size: cover;
+}
+
+.bx-base-pofile-unit-cover .bx-def-thumb {
+	display: inline-block;
+    background-color: #fff;
+    vertical-align: middle;
+}
+
+.bx-base-pofile-unit-info,
+.bx-base-pofile-unit-title {
+    width: 17.5rem;
+}
+
+.bx-base-pofile-unit-title {
+    text-align: center;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+}

+ 1 - 13
studio/template/dsr_cover_preview.html

@@ -1,15 +1,3 @@
 <bx_repeat:covers>
-	<div id="bx-dsg-cover-__image_id__" class="bx-dsg-cover bx-def-margin-top-auto">
-		<div class="bx-cover-wrapper" <bx_if:show_bg>style="background-image:url(__image_url__)"</bx_if:show_bg>>
-		    <div class="bx-cover-gradient"></div>
-		    <div class="bx-cover bx-def-centered bx-def-page-width bx-def-padding bx-def-box-sizing">
-		    	<div class="bx-cover-title bx-def-margin-sec-topbottom bx-def-font-h1" style="z-index:2;">
-		            <span class="bx-def-font-contrasted">__caption__</span>
-		        </div>
-			</div>
-		</div>
-		<div class="bx-dsg-cover-actions bx-def-margin-thd-top">
-			<a class="bx-btn bx-btn-small" href="javascript:void(0)" onclick="__js_object__.deleteCover('__type__', __image_id__);"><bx_text:_adm_dsg_btn_delete /></a>
-		</div>
-	</div>
+	<div id="bx-dsg-cover-__image_id__" class="bx-dsg-cover bx-def-margin-top-auto">__content__</div>
 </bx_repeat:covers>

+ 11 - 0
studio/template/dsr_cover_preview_page.html

@@ -0,0 +1,11 @@
+<div class="bx-cover-wrapper" <bx_if:show_bg>style="background-image:url(__image_url__)"</bx_if:show_bg>>
+    <div class="bx-cover-gradient"></div>
+    <div class="bx-cover bx-def-centered bx-def-page-width bx-def-padding bx-def-box-sizing">
+    	<div class="bx-cover-title bx-def-margin-sec-topbottom bx-def-font-h1" style="z-index:2;">
+            <span class="bx-def-font-contrasted">__caption__</span>
+        </div>
+	</div>
+</div>
+<div class="bx-dsg-cover-actions bx-def-margin-thd-top">
+	<a class="bx-btn bx-btn-small" href="javascript:void(0)" onclick="__js_object__.deleteCover('__type__', __image_id__);"><bx_text:_adm_dsg_btn_delete /></a>
+</div>

+ 11 - 0
studio/template/dsr_cover_preview_unit_profile.html

@@ -0,0 +1,11 @@
+<div class="bx-base-pofile-unit-with-cover bx-def-box-sizing">
+    <div class="bx-base-pofile-unit-cnt bx-def-box bx-def-border bx-def-round-corners bx-def-color-bg-box">
+        <a class="bx-base-pofile-unit-cover" <bx_if:show_bg>style="background-image:url(__image_url__)"</bx_if:show_bg> href="#">
+            <span class="bx-def-thumb bx-def-thumb-size bx-def-border"><i class="sys-icon user"></i></span>
+        </a>
+        <div class="bx-base-pofile-unit-title bx-def-margin-sec-topbottom"><a href="#">__caption__</a></div>
+    </div>
+</div>
+<div class="bx-dsg-cover-actions bx-def-margin-thd-top">
+	<a class="bx-btn bx-btn-small" href="javascript:void(0)" onclick="__js_object__.deleteCover('__type__', __image_id__);"><bx_text:_adm_dsg_btn_delete /></a>
+</div>

+ 14 - 11
studio/template/scripts/BxBaseStudioDesigner.php

@@ -381,23 +381,26 @@ class BxBaseStudioDesigner extends BxDolStudioDesigner
         	if(($iImageId = (int)getParam($aCover['setting'])) == 0)
         		continue;
 
-			$sImageUrl = BxDolTranscoderImage::getObjectInstance(BX_DOL_TRANSCODER_OBJ_COVER)->getFileUrl($iImageId);
+			$sImageUrl = BxDolTranscoderImage::getObjectInstance($aCover['transcoder'])->getFileUrl($iImageId);
             if($sImageUrl === false) {
             	setParam($aCover['setting'], 0);
                 continue;
 			}
 
 			$aTmplVarsCovers[] = array(
-				'js_object' => $sJsObject,
-				'type' => $sCover,
-				'caption' => _t($aCover['title']),
-				'image_id' => $iImageId,
-                'bx_if:show_bg' => array(
-					'condition' => !empty($sImageUrl),
-					'content' => array(
-						'image_url' => $sImageUrl
-					)
-				),
+			    'image_id' => $iImageId,
+			    'content' => $oTemplate->parseHtmlByName($aCover['template'], array(
+			        'js_object' => $sJsObject,
+    				'type' => $sCover,
+    				'caption' => _t($aCover['title']),
+    				'image_id' => $iImageId,
+                    'bx_if:show_bg' => array(
+    					'condition' => !empty($sImageUrl),
+    					'content' => array(
+    						'image_url' => $sImageUrl
+    					)
+    				),
+                ))
 			);
         }
 

Некоторые файлы не были показаны из-за большого количества измененных файлов