Explorar el Código

Ticket #2169 - Profile Stats block in different templates.

AntonLV hace 7 años
padre
commit
b0d80b17f8

+ 10 - 1
modules/base/general/classes/BxBaseModGeneralDb.php

@@ -238,7 +238,16 @@ class BxBaseModGeneralDb extends BxDolModuleDb
     {
         $CNF = &$this->_oConfig->CNF;
 
-        $sOrderClause .=  "`" . $CNF['TABLE_ENTRIES'] . "`.`" . $CNF['FIELD_ADDED'] . "` DESC";
+        if(empty($aParams['search_params']['order']) || !is_array($aParams['search_params']['order'])) 
+            $aParams['search_params']['order'] = array(
+                array('table' => $CNF['TABLE_ENTRIES'], 'field' => $CNF['FIELD_ADDED'], 'direction' => 'DESC')
+            );
+
+        $aOrders = array();
+        foreach($aParams['search_params']['order'] as $aOrder) 
+            $aOrders[] = "`" . (isset($aOrder['table']) ? $aOrder['table'] : $CNF['TABLE_ENTRIES']) . "`.`" . (!empty($aOrder['field']) ? $aOrder['field'] : $CNF['FIELD_ADDED']) . "` " . (!empty($aOrder['direction']) ? strtoupper($aOrder['direction']) : 'DESC');
+
+        $sOrderClause .= implode(', ', $aOrders);
     }
 }
 

+ 5 - 21
modules/boonex/protean/data/template/system/css/general.css

@@ -4,27 +4,11 @@
 .bx-profile-stats .bx-profile-stats-cnt {
     padding: 0;
 }
-.bx-profile-stats .bx-def-unit {
-    margin: 0;
-    padding: 1rem 1rem 0 1rem;
-}
-.bx-profile-stats .bx-def-unit-cnt {
-    position: relative;
-}
-.bx-profile-stats .bx-def-unit-cnt .bx-def-ava-size {
-    width: 3.75rem;
-    height: 3.75rem;
-    line-height: 3.75rem;
-}
-.bx-profile-stats .bx-def-unit-cnt .bx-def-ava-size-left-indent {
-    margin-left: 4.75rem;
-}
-.bx-profile-stats .bx-def-unit-cnt .bx-def-ava-size-min-height {
-    min-height: 3.75rem;
-}
-.bx-profile-stats .bx-def-unit-cnt .bx-def-ava-size-max-height {
-    max-height: 3.75rem;
+
+.bx-profile-stats .bx-ps-user-cnt.bx-def-margin-sec-leftright {
+    margin: 1.0rem 1.0rem 0 1.0rem;
 }
-.bx-profile-stats .bx-def-unit-cnt .bx-def-unit-line.bx-def-margin-sec-top {
+
+.bx-profile-stats .bx-ps-user-cnt .bx-ps-user-line.bx-def-margin-sec-top {
     margin-top: 0.25rem;
 }

+ 30 - 1
template/css/general.css

@@ -249,7 +249,36 @@ div.bx-account-unit-online {
     overflow: hidden;
 }
 
-.bx-profile-stats .bx-def-unit-info-cnt {
+.bx-profile-stats .bx-ps-user-cnt {
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-justify-content: flex-start;
+    justify-content: flex-start;
+}
+
+.bx-profile-stats .bx-ps-user-cnt .bx-def-ava-size {
+    width: 3.75rem;
+    height: 3.75rem;
+}
+
+.bx-profile-stats .bx-ps-user-cnt .bx-def-ava-size,
+.bx-profile-stats .bx-ps-user-cnt div.bx-def-unit-img p.bx-base-pofile-unit-thumb.bx-def-ava-size {
+    line-height: 3.75rem;
+}
+
+.bx-profile-stats .bx-ps-user-img {
+    -webkit-flex: 0 2 auto; 
+    flex: 0 2 auto;
+}
+
+.bx-profile-stats .bx-ps-user-info {
+    -webkit-flex: 1 1 auto; 
+    flex: 1 1 auto;
+}
+
+.bx-profile-stats .bx-ps-user-info-cnt {
     display: -webkit-flex;
     display: flex;
     -webkit-align-items: flex-start;

+ 4 - 3
template/css/menu.css

@@ -793,6 +793,10 @@ ul.bx-menu-btns-icon-hor li:last-child .bx-btn {
 
 /* --------------- profile stats menu */
 .bx-menu-ver.bx-menu-object-sys_profile_stats li {
+    border-width: 0;
+    border-radius: 0;
+}
+.bx-menu-ver.bx-menu-object-sys_profile_stats li .bx-menu-item-cnt {
     position: relative;
     display: -webkit-flex;
     display: flex;
@@ -802,9 +806,6 @@ ul.bx-menu-btns-icon-hor li:last-child .bx-btn {
     align-items: center;
     -webkit-justify-content: space-between;
     justify-content: space-between;
-
-    border-width: 0;
-    border-radius: 0;
 }
 .bx-menu-ver.bx-menu-object-sys_profile_stats li a {
     -webkit-flex-grow: 3;

+ 12 - 10
template/menu_profile_stats.html

@@ -1,16 +1,18 @@
 <ul class="bx-menu-profile-stats bx-menu-ver bx-menu-object-__object__ bx-def-font-middle bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-menu-item-__name__ bx-def-round-corners bx-def-hr bx-def-color-bg-hl-hover __class_add__">
-            <a class="bx-def-padding-thd-topbottom bx-def-padding-sec-leftright" href="__link__" target="__target__" onclick="__onclick__">
-                <bx_if:icon><i class="sys-icon __icon__"></i></bx_if:icon>
-                <bx_if:image><img style="background-image:url(__icon_url__)" src="<bx_icon_url:spacer.gif />" /></bx_if:image>
-                <span class="bx-def-margin-left-auto">__title__</span>
-            </a>
-            <bx_if:addon>
-            	<div class="bx-menu-addon bx-def-padding-thd-topbottom bx-def-padding-sec-right">
-                    <div class="bx-menu-addon-cnt bx-def-label menu">__addon__</div>
-                </div>
-        </bx_if:addon>
+            <div class="bx-menu-item-cnt bx-def-padding-thd-topbottom bx-def-padding-sec-leftright">
+                <a href="__link__" target="__target__" onclick="__onclick__">
+                    <bx_if:icon><i class="sys-icon __icon__"></i></bx_if:icon>
+                    <bx_if:image><img style="background-image:url(__icon_url__)" src="<bx_icon_url:spacer.gif />" /></bx_if:image>
+                    <span class="bx-def-margin-left-auto">__title__</span>
+                </a>
+                <bx_if:addon>
+                    <div class="bx-menu-addon bx-def-padding-sec-left">
+                        <div class="bx-menu-addon-cnt bx-def-label menu">__addon__</div>
+                    </div>
+                </bx_if:addon>
+            </div>
         </li>
     </bx_repeat:menu_items>
 </ul>

+ 8 - 8
template/profile_stats.html

@@ -1,14 +1,14 @@
 <div class="bx-profile-stats bx-def-border-radius-block">
     <div class="bx-profile-stats-cnt bx-def-padding">
-	<div class="bx-def-unit absolute bx-ps-user bx-def-margin-sec-leftright">
-            <div class="bx-def-unit-cnt">
-                <div class="bx-def-unit-img bx-def-ava bx-def-ava-size">
-                    <a href="__profile_url__" title="__profile_title_attr__"><img class="bx-def-ava bx-def-ava-size" src="__profile_ava_url__" /></a>
+	<div class="bx-ps-user">
+            <div class="bx-ps-user-cnt bx-def-margin-sec-leftright">
+                <div class="bx-ps-user-img">
+                    __profile_unit__
                 </div>
-                <div class="bx-def-unit-info bx-def-ava-size-min-height bx-def-ava-size-max-height bx-def-ava-size-left-indent">
-                    <div class="bx-def-unit-info-cnt bx-def-box-sizing">
-                        <div class="bx-def-unit-line bx-def-font-h2"><a href="__profile_url__" title="__profile_title_attr__">__profile_title__</a></div>
-                        <div class="bx-def-unit-line bx-def-margin-sec-top">
+                <div class="bx-ps-user-info">
+                    <div class="bx-ps-user-info-cnt bx-def-padding-left bx-def-box-sizing">
+                        <div class="bx-ps-user-line bx-def-font-h2"><a href="__profile_url__" title="__profile_title_attr__">__profile_title__</a></div>
+                        <div class="bx-ps-user-line bx-def-margin-sec-top">
                             <div class="bx-def-label"><i class="sys-icon __profile_acl_icon__"></i><span class="bx-def-padding-sec-left">__profile_acl_title__</span></div>
                         </div>
                         <!--<div class="bx-def-unit-line"><a href="__profile_edit_url__"><bx_text:_sys_edit_profile /></a></div>-->

+ 11 - 8
template/scripts/BxBaseServiceProfiles.php

@@ -44,12 +44,12 @@ class BxBaseServiceProfiles extends BxDol
 
         $oProfile = BxDolProfile::getInstance($iProfileId);
         if(!$oProfile)
-        	return '';
+            return '';
 
         $oAcl = BxDolAcl::getInstance();
-		$aAcl = $oAcl->getMemberMembershipInfo($iProfileId);
-		$aAclInfo = $oAcl->getMembershipInfo($aAcl['id']);
-		
+        $aAcl = $oAcl->getMemberMembershipInfo($iProfileId);
+        $aAclInfo = $oAcl->getMembershipInfo($aAcl['id']);
+
         $aVars = array(
             'profile_id' => $oProfile->id(),
             'profile_url' => $oProfile->getUrl(),
@@ -57,13 +57,16 @@ class BxBaseServiceProfiles extends BxDol
             'profile_title' => $oProfile->getDisplayName(),
             'profile_title_attr' => bx_html_attribute($oProfile->getDisplayName()),
             'profile_ava_url' => $oProfile->getAvatar(),
-        	'profile_acl_title' => _t($aAclInfo['name']),
-        	'profile_acl_icon' => $aAclInfo['icon'],
+            'profile_unit' => $oProfile->getUnit(0, array('template' => array(
+                'name' => 'unit_wo_info',
+                'size' => 'ava'
+            ))),
+            'profile_acl_title' => _t($aAclInfo['name']),
+            'profile_acl_icon' => $aAclInfo['icon'],
             'menu' => BxDolMenu::getObjectInstance('sys_profile_stats')->getCode(),
         );
 
-        $oTemplate = BxDolTemplate::getInstance();
-        return $oTemplate->parseHtmlByName('profile_stats.html', $aVars);
+        return BxDolTemplate::getInstance()->parseHtmlByName('profile_stats.html', $aVars);
     }
 
     public function serviceGetMenuAddonProfileEdit($iProfileId = 0, $sCaption = '')