Browse Source

Comment -> Experimental layout.

AntonLV 13 years ago
parent
commit
b6bbc036c5

+ 1 - 1
inc/classes/BxDolCmts.php

@@ -711,7 +711,7 @@ class BxDolCmts extends BxDol
 		return array(
 			$oProfile->getDisplayName(), 
 			$oProfile->getUrl(), 
-			$oProfile->getThumb()
+			$oProfile->getIcon()
 		);
     }
 

+ 19 - 2
inc/js/classes/BxDolCmts.js

@@ -166,6 +166,8 @@ BxDolCmts.prototype.cmtEdit = function(oLink, iCmtId) {
     oData['action'] = 'CmtEdit';
     oData['Cmt'] = iCmtId;
 
+    $(oLink).parents('.cmt-comment-manage:first').dolPopupHide();
+
     var sBodyId = this._sRootId + ' #cmt' + iCmtId + ' .cmt-body:first';
     if ($(sBodyId + ' > form').length) {
         $(sBodyId).bx_anim('hide', $this._sAnimationEffect, $this._iAnimationSpeed, function() {
@@ -297,7 +299,7 @@ BxDolCmts.prototype.toggleReply = function(e, iCmtParentId)
             function (s) {
                 $this._loadingInContent(e, false);
 
-                var oForm = $(s).css('display', 'none');
+                var oForm = $(s).css('display', 'none').addClass('cmt-reply-margin');
                 var sFormClass = oForm.attr('class');
                 var oFormSibling = $(sParentId + ' > ul.cmts:first');
                 switch($this._sPostFormPosition) {
@@ -327,6 +329,21 @@ BxDolCmts.prototype.toggleReply = function(e, iCmtParentId)
     }
 };
 
+BxDolCmts.prototype.toggleManagePopup = function(oLink, iCmtId) {
+	var oPopup = $(oLink).siblings('.cmt-comment-manage');
+	console.log(oPopup);
+	if(oPopup.is(':visible')) {
+		oPopup.dolPopupHide();
+		return;
+	}
+
+		oPopup.dolPopup({
+			pointer:{
+				el:$(oLink)
+			}
+		});
+};
+
 // get comment replies via ajax request
 BxDolCmts.prototype._getCmts = function (e, iCmtParentId, iStart, iPerView, sBrowseType, sDisplayType, onLoad)
 {
@@ -479,7 +496,7 @@ BxDolCmts.prototype._loadingInBlock = function(e, bShow) {
 };
 
 BxDolCmts.prototype._loadingInContent = function(e, bShow) {
-	var oParent = $(e).length ? $(e).parents('.cmt-cont:first,.cmt-post-reply:first') : $('body'); 
+	var oParent = $(e).length ? $(e).parents('li.cmt:first,.cmt-reply:first') : $('body'); 
 	bx_loading(oParent, bShow);
 };
 BxDolCmts.prototype._loadingInButton = function(e, bShow) {

+ 1 - 0
modules/boonex/english/data/langs/system.xml

@@ -1166,6 +1166,7 @@ Please click "Continue" below to navigate to the home page of the site.]]></stri
 	<string name="_cmt_points"><![CDATA[pluses]]></string>
 	<string name="_Plus"><![CDATA[Plus]]></string>
 	<string name="_Minus"><![CDATA[Minus]]></string>
+	<string name="_Manage"><![CDATA[Manage]]></string>
 	<string name="_Remove"><![CDATA[Remove]]></string>
 	<string name="_N_replies"><![CDATA[<span>{0}</span> replies]]></string>
 	<string name="_N_comments"><![CDATA[<span>{0}</span> comments]]></string>

+ 24 - 50
template/comment.html

@@ -1,61 +1,35 @@
 <li id="cmt__id__" class="__style_prefix____class__">
 	<a name="__system____id__"></a>
-	<div class="__style_prefix__-thumb bx-def-thumb bx-def-thumb-size">
-		<bx_if:show_icon>
-			<img src="__author_icon__" />
-		</bx_if:show_icon>
-		<bx_if:show_icon_empty>
-			<i class="sys-icon user"></i>
-		</bx_if:show_icon_empty>
+	<div class="__style_prefix__-author">
+		<div class="__style_prefix__-icon bx-def-icon bx-def-icon-size">
+			<bx_if:show_icon>
+				<img src="__author_icon__" />
+			</bx_if:show_icon>
+			<bx_if:show_icon_empty>
+				<i class="sys-icon user"></i>
+			</bx_if:show_icon_empty>
+		</div>
+		<div class="cmt-username bx-def-icon-size-min-height">
+			<span class="__style_prefix__-username bx-def-font-h3">
+				<bx_if:show_author_link><a href="__author_link__">__author_name__</a> </bx_if:show_author_link>
+				<bx_if:show_author_text>__author_name__ </bx_if:show_author_text>
+			</span>
+			<span class="__style_prefix__-reply-to bx-def-padding-left bx-def-font-small bx-def-font-grayed">
+				<bx_if:show_reply_to>
+					<span><bx_text:_in_reply_to />&nbsp;</span><a href="__par_cmt_link__">__par_cmt_author__</a>
+				</bx_if:show_reply_to>
+				<span class="bullet">&#183;</span><a class="__style_prefix__-ago" href="__view_link__">__ago__</a>
+				<span class="bullet">&#183;</span><span class="__style_prefix__-points"><span>__points_num__</span>&nbsp;__points_txt__</span>
+			</span>
+		</div>
 	</div>
-	<div class="__style_prefix__-cont bx-def-border bx-def-round-corners">
+	<div class="__style_prefix__-cont bx-def-margin-sec-top bx-def-border bx-def-round-corners">
 		<div class="__style_prefix__-cont-cnt">
-			<div class="__style_prefix__-head">
-				<span class="__style_prefix__-author bx-def-font-h3">
-					<bx_if:show_author_link><a href="__author_link__">__author_name__</a> </bx_if:show_author_link>
-					<bx_if:show_author_text>__author_name__ </bx_if:show_author_text>
-				</span>
-				<!-- 
-				<bbx_if:show_reply_to>
-					<span class="__style_prefix__-reply-to bx-def-padding-left bx-def-font-small bx-def-font-grayed">
-						<bx_text:_in_reply_to /> <a href="__par_cmt_link__">__par_cmt_author__</a>
-					</span>
-				</bbx_if:show_reply_to>
-				-->
-				<!-- Experimental Layout -->
-				<span class="__style_prefix__-reply-to bx-def-padding-left bx-def-font-small bx-def-font-grayed">
-					<bx_if:show_reply_to>
-						<span><bx_text:_in_reply_to />&nbsp;</span><a href="__par_cmt_link__">__par_cmt_author__</a>
-					</bx_if:show_reply_to>
-					<span class="bullet">&#183;</span><a class="__style_prefix__-ago" href="__view_link__">__ago__</a>
-					<span class="bullet">&#183;</span><span class="__style_prefix__-points"><span>__points_num__</span>&nbsp;__points_txt__</span>
-				</span>
-				<!-- Experimental Layout -->
-			</div>
 			<div class="__style_prefix__-body bx-def-margin-thd-topbottom">
 				__text__<bx_if:show_more><span class="__style_prefix__-body-see-more">... <a class="bx-def-font-small" href="javascript:void(0)" onclick="__js_object__.seeMore(this);"><bx_text:_see_more /></a></span><span style="display:none;"> __text_more__</span></bx_if:show_more>
-				<!-- Experimental Layout -->
-				<span class="__style_prefix__-actions bx-def-padding-left bx-def-font-small bx-clearfix">
-					<bx_if:show_rate>
-						<span class="bullet">&#183;</span><a class="__style_prefix__-comment-vote" title="<bx_text:_Plus />" href="javascript:void(0)" onclick="__js_object__.cmtRate(this, __id__, 1)"><bx_text:_Plus /></a>
-						<!--
-						<span class="bullet">&#183;</span><a class="__style_prefix__-comment-vote" title="<bx_text:_Minus />" href="javascript:void(0)" onclick="__js_object__.cmtRate(this, __id__, -1)"><bx_text:_Minus /></a>
-						-->
-					</bx_if:show_rate>
-					<bx_if:show_reply>
-						<span class="bullet">&#183;</span><a class="__style_prefix__-comment-reply" href="javascript:void(0)" onclick="__js_object__.toggleReply(this, __id__); return false;">__text__</a>
-					</bx_if:show_reply>
-					<bx_if:show_edit>
-						<span class="bullet">&#183;</span><a class="__style_prefix__-comment-manage-edit" title="<bx_text:_Edit />" href="javascript:void(0)" onclick="__js_object__.cmtEdit(this, __id__); return false;"><bx_text:_Edit /></a>
-					</bx_if:show_edit>
-					<bx_if:show_delete>
-						<span class="bullet">&#183;</span><a class="__style_prefix__-comment-manage-delete" title="<bx_text:_Delete />" href="javascript:void(0)" onclick="__js_object__.cmtRemove(this, __id__); return false;"><bx_text:_Delete /></a>
-					</bx_if:show_delete>
-				</span>
-				<!-- Experimental Layout -->
 			</div>
-			__actions__
 		</div>
 	</div>
+	__actions__
 	<ul class="cmts cmts-margin">__replies__</ul>
 </li>

+ 10 - 14
template/comment_actions.html

@@ -1,19 +1,15 @@
-<div class="__style_prefix__-actions bx-def-font-small bx-clearfix">
-	<span class="bullet">&#183;</span><a class="__style_prefix__-ago" href="__view_link__">__ago__</a>
-	<span class="bullet">&#183;</span><span class="__style_prefix__-points">__points__</span>
+<div class="__style_prefix__-actions bx-def-margin-thd-top">
+	<bx_if:show_reply>
+		<a class="__style_prefix__-comment-reply bx-def-margin-sec-left-auto bx-def-font-grayed" href="javascript:void(0)" onclick="__js_object__.toggleReply(this, __id__); return false;" title="__text__"><i class="sys-icon reply"></i></a>
+	</bx_if:show_reply>
 	<bx_if:show_rate>
-		<span class="bullet">&#183;</span><a class="__style_prefix__-comment-vote" title="<bx_text:_Plus />" href="javascript:void(0)" onclick="__js_object__.cmtRate(this, __id__, 1)"><bx_text:_Plus /></a>
+		<a class="__style_prefix__-comment-vote bx-def-margin-sec-left-auto bx-def-font-grayed" title="<bx_text:_Plus />" href="javascript:void(0)" onclick="__js_object__.cmtRate(this, __id__, 1)" title="<bx_text:_Plus />"><i class="sys-icon plus"></i></a>
 		<!--
-		<span class="bullet">&#183;</span><a class="__style_prefix__-comment-vote" title="<bx_text:_Minus />" href="javascript:void(0)" onclick="__js_object__.cmtRate(this, __id__, -1)"><bx_text:_Minus /></a>
+		<a class="__style_prefix__-comment-vote bx-def-margin-sec-left-auto bx-def-font-grayed" title="<bx_text:_Minus />" href="javascript:void(0)" onclick="__js_object__.cmtRate(this, __id__, -1)" title="<bx_text:_Minus />"><i class="sys-icon minus"></i></a>
 		-->
 	</bx_if:show_rate>
-	<bx_if:show_reply>
-		<span class="bullet">&#183;</span><a class="__style_prefix__-comment-reply" href="javascript:void(0)" onclick="__js_object__.toggleReply(this, __id__); return false;">__text__</a>
-	</bx_if:show_reply>
-	<bx_if:show_edit>
-		<span class="bullet">&#183;</span><a class="__style_prefix__-comment-manage-edit" title="<bx_text:_Edit />" href="javascript:void(0)" onclick="__js_object__.cmtEdit(this, __id__); return false;"><bx_text:_Edit /></a>
-	</bx_if:show_edit>
-	<bx_if:show_delete>
-		<span class="bullet">&#183;</span><a class="__style_prefix__-comment-manage-delete" title="<bx_text:_Delete />" href="javascript:void(0)" onclick="__js_object__.cmtRemove(this, __id__); return false;"><bx_text:_Delete /></a>
-	</bx_if:show_delete>
+	<bx_if:show_manage>
+		<a class="__style_prefix__-comment-manage bx-def-margin-sec-left-auto bx-def-font-grayed" href="javascript:void(0)" onclick="__js_object__.toggleManagePopup(this, __id__); return false;" title="<bx_text:_Manage />"><i class="sys-icon cog"></i></a>
+		<div id="__popup_id__" class="__style_prefix__-comment-manage" style="display:none;">__popup_text__</div>
+	</bx_if:show_manage>
 </div>

+ 1 - 0
template/comment_manage.html

@@ -0,0 +1 @@
+<div class="__style_prefix__-cm-cnt bx-def-padding">__content__</div>

+ 1 - 1
template/comment_more.html

@@ -1,4 +1,4 @@
-<li class="__style_prefix__-more<bx_if:is_root>-root</bx_if:is_root> bx-def-margin-top bx-def-padding-top">
+<li class="__style_prefix__-more<bx_if:is_root>-root bx-def-margin-top</bx_if:is_root>  bx-def-margin-bottom">
 	<div class="__style_prefix__-more-cont">
 		<div class="__style_prefix__-more-line bx-def-hr"></div>
 		<a class="<bx_if:is_button>bx-btn</bx_if:is_button>" href="javascript:void(0)" onclick="javascript:__js_object__.cmtMore(this, __parent_id__, __start__, __per_view__)">__title__</a>

+ 17 - 9
template/comment_reply_box.html

@@ -1,13 +1,21 @@
-<div class="__style_prefix__-reply<bx_if:show_class> __class__</bx_if:show_class> cmt-border bx-def-margin-top bx-def-padding-top">
-	<div class="__style_prefix__-thumb bx-def-thumb bx-def-thumb-size">
-		<bx_if:show_icon>
-			<img src="__author_icon__" />
-		</bx_if:show_icon>
-		<bx_if:show_icon_empty>
-			<i class="sys-icon user"></i>
-		</bx_if:show_icon_empty>
+<div class="__style_prefix__-reply<bx_if:show_class> __class__</bx_if:show_class> bx-def-margin-top">
+	<div class="__style_prefix__-author">
+		<div class="__style_prefix__-icon bx-def-icon bx-def-icon-size">
+			<bx_if:show_icon>
+				<img src="__author_icon__" />
+			</bx_if:show_icon>
+			<bx_if:show_icon_empty>
+				<i class="sys-icon user"></i>
+			</bx_if:show_icon_empty>
+		</div>
+		<div class="cmt-username bx-def-icon-size-min-height">
+			<span class="__style_prefix__-username bx-def-font-h3">
+				<bx_if:show_author_link><a href="__author_link__">__author_name__</a> </bx_if:show_author_link>
+				<bx_if:show_author_text>__author_name__ </bx_if:show_author_text>
+			</span>
+		</div>
 	</div>
-	<div class="__style_prefix__-post-reply">
+	<div class="__style_prefix__-post-reply bx-def-margin-sec-top">
 	    __form__
 	</div>
 </div>

+ 88 - 128
template/css/cmts.css

@@ -1,4 +1,3 @@
-/* TODO: remake according to the new design */
     /*--- General Styles ---*/
 	.cmt-border {
 		border-top: 1px solid #eeeeee;
@@ -12,12 +11,13 @@
         padding: 0px;
         list-style: none;
     }
-    ul.cmts-margin {}
+    ul.cmts-margin,
+    div.cmt-reply-margin {
+		padding-left: 30px;
+    }
     li.cmt,
     ul.cmts-margin li.cmt {
     	position: relative;
-    	margin-top: 20px;
-    	padding-left: 84px;
     }
     li.cmt:first-child {
 		margin-top: 0px;
@@ -43,13 +43,42 @@
        color: #333333;
     }
 
-	/*--- More ---*/
-    li.cmt-more {
-		border-top: 1px solid #eeeeee;
+	/*--- Browse Styles ---*/
+    div.cmt-browse {
+
+    }
+    div.cmt-browse-left {
+		position: relative;
+    	float: left;
     }
+    div.cmt-browse-right {
+    	position: relative;
+    	float: right;
+	}
+	div.cmt-browse-right ul.bx-menu-inter  {
+		float: left;
+	}
+
+	div.cmt-browse-item,
+	div.cmt-browse-item-div,
+	div.cmt-browse-type-div {
+		position: relative;
+		float: left;
+	}
+	div.cmt-browse-item-div {
+		padding: 0px 3px;
+	}
+	div.cmt-browse-type-div {
+		padding: 0px 5px;
+	}
+
+	/*--- More ---*/
+    li.cmt-more {}
 	li.cmt-more-root {}
 	div.cmt-more-cont {}
-	div.cmt-more-line {}
+	div.cmt-more-line {
+		border-bottom: 0px;
+	}
 
 	li.cmt-more div.cmt-more-cont {
 		font-weight: bold;
@@ -77,51 +106,30 @@
     	text-transform: uppercase;
     }    
 
-    /*--- Comment ---*/
-    div.cmt-cont {
-        position: relative;
-    	min-height: 64px;
-    	background-color:#ffffff;
-    }
-	div.cmt-cont .bullet {
-		padding: 0px 5px;
-    }
-    div.cmt-cont.bx-def-border:after,
-    div.cmt-cont.bx-def-border:before {
-		content:""; 
-		position: absolute; 
-		left: -10px;
-		top: 20px; 
-		width: 0px; 
-		height: 0px; 
-		border-top: 10px solid transparent; 
-		border-right: 10px solid #D0D0D0; 
-		border-bottom: 10px solid transparent;
-    }
-    div.cmt-cont.bx-def-border:after {
-    	left: -9px;
-		border-right-color: #ffffff;
-    }
-    div.cmt-cont.bx-def-border div.cmt-cont-cnt {
-		padding: 10px 20px;
+    /*--- Comment Author ---*/
+    div.cmt-author {
+		position: relative;
     }
-    div.cmt-thumb {
+	div.cmt-icon {
 		position: absolute;
-    	top: 0px;
-    	left: 0px;
+		top: 0px;
+		left: 0px;
     	text-align: center;
     }
-    div.cmt-thumb .sys-icon {
-		font-size: 64px;
+    div.cmt-icon .sys-icon {
+		font-size: 2.125em;
     }
-    span.cmt-author {
-		font-weight: bold;
+    div.cmt-username {
+    	position: realtive;
+    	padding-left: 42px;
+	}
+	span.cmt-username {
+		line-height: 1.85em;
     }
-    span.cmt-author a {
+    span.cmt-username a {
         text-decoration: none;
     }
-    /*--- Experimental Layout ---*/
-    span.cmt-reply-to {
+	span.cmt-reply-to {
 		display: inline-block;
     }
 	span.cmt-reply-to a,
@@ -133,71 +141,56 @@
     span.cmt-reply-to span.bullet:first-child {
 		display: none;
     }
-    /*--- Experimental Layout ---*/
     span.cmt-posted-ago {
         text-transform: lovercase;
     }
 	span.cmt-points {
         text-transform: lovercase;
     }
-    /*--- Experimental Layout ---*/
-    span.cmt-body-see-more a {
-		font-weight: bold;
+
+    /*--- Comment Body ---*/
+    div.cmt-cont {
+        position: relative;
+    	background-color:#ffffff;
     }
-    span.cmt-actions {
-		display: inline-block;
+	div.cmt-cont .bullet,
+	div.cmt-author .bullet {
+		padding: 0px 5px;
     }
-	span.cmt-actions a,
-    span.cmt-actions span.bullet {
-		display: block;
-    	float: left;
-    	line-height: 0.8em;
+    div.cmt-cont.bx-def-border:before,
+    div.cmt-cont.bx-def-border:after {
+		content:""; 
+		position: absolute; 
+		left: 10px;
+		top: -6px; 
+		width: 0px; 
+		height: 0px; 
+		border-left: 6px solid transparent; 
+		border-right: 6px solid transparent;
+		border-bottom: 6px solid #d0d0d0;
     }
-    span.cmt-actions span.bullet:first-child {
-		display: none;
+    div.cmt-cont.bx-def-border:after {
+    	top: -5px;
+		border-bottom-color: #ffffff;
     }
-    /*--- Experimental Layout ---*/
-    /*
-    div.cmt-actions {}
-    div.cmt-actions a,
-    div.cmt-actions span.bullet,
-    div.cmt-actions span.cmt-points {
-		display: block;
-    	float: left;
+    div.cmt-cont.bx-def-border div.cmt-cont-cnt {
+		padding: 10px 20px;
     }
-    div.cmt-actions span.bullet:first-child {
-		display: none;
+    span.cmt-body-see-more a {
+		font-weight: bold;
     }
-    */
-
-    /*--- Browse Styles ---*/
-    div.cmt-browse {
 
+    /*--- Comment Actions ---*/
+	div.cmt-actions {
+		text-align: right;
     }
-    div.cmt-browse-left {
-		position: relative;
-    	float: left;
+	div.cmt-actions a {
+		text-decoration: none;
     }
-    div.cmt-browse-right {
+    div.cmt-comment-manage {
     	position: relative;
-    	float: right;
-	}
-	div.cmt-browse-right ul.bx-menu-inter  {
-		float: left;
-	}
-
-	div.cmt-browse-item,
-	div.cmt-browse-item-div,
-	div.cmt-browse-type-div {
-		position: relative;
-		float: left;
-	}
-	div.cmt-browse-item-div {
-		padding: 0px 3px;
-	}
-	div.cmt-browse-type-div {
-		padding: 0px 5px;
-	}
+    	text-align: left;
+    }
 
     /*--- Add Comment/Reply Styles ---*/
     div.cmt-reply {
@@ -219,43 +212,10 @@
     }
 	div.cmt-post-reply {
         position: relative;
-    	padding-left: 84px;
     }
     form.cmt-post-reply .bx-form-input-textarea {
 		height: 64px;
     }
     form.cmt-post-reply .bx-form-input-submit {
     	text-transform: uppercase;
-    }
-    
-    /*
-	div.cmt-reply-expanded {}
-    
-    div.cmt-post-reply form {
-        display: block;
-    }
-    div.cmt-post-reply textarea,
-    div.cmt-body textarea {
-        width: 100%;
-        height: 64px;
-        padding: 0px;
-        margin: 0px;
-        border: 0px;
-    }
-    div.cmt-post-reply-text {
-        margin-bottom: 10px;
-        /*position: relativ_e;*/
-        border: 1px solid #cccccc;
-    }
-    div.cmt-post-reply-video {
-        margin-bottom: 10px;
-        /*position: relativ_e;*/
-        display: none;
-    }
-    div.cmt-post-reply-post {}
-    a.cmt-comment-vote,
-    a.cmt-comment-manage-edit,
-    a.cmt-comment-manage-delete,
-    a.cmt-comment-replies {
-    }
-    */
+    }

+ 11 - 4
template/css/default.css

@@ -236,9 +236,9 @@
     margin-right:0;
     padding:0;
     border:none;
-    border-top:1px solid #eeeeee;
+    border-top:1px solid #dddddd;
     border-bottom:1px solid #ffffff;
-    border-top:1px solid rgba(238, 238, 238, 0.5);
+    border-top:1px solid rgba(221, 221, 221, 0.5);
     border-bottom:1px solid rgba(255, 255, 255, 0.8);
 }
 .bx-def-hr-auto:first-child {
@@ -394,9 +394,16 @@ h3,
 .bx-def-thumb-size-max-height {
     max-height:64px;
 }
-
+.bx-def-thumb-size-min-height {
+    min-height:64px;
+}
 .bx-def-icon-size {
     width:32px;
     height:32px;
 }
-
+.bx-def-icon-size-max-height {
+    max-height:32px;
+}
+.bx-def-icon-size-min-height {
+    min-height:32px;
+}

+ 39 - 57
template/scripts/BxBaseCmtsView.php

@@ -216,12 +216,6 @@ class BxBaseCmtsView extends BxDolCmts {
 		if((int)$r['cmt_replies'] > 0 && !empty($aDp) && $aDp['type'] == BX_CMT_DISPLAY_THREADED)
 			$sReplies = $this->getComments(array('parent_id' => $r['cmt_id'], 'vparent_id' => $r['cmt_id'], 'type' => $aBp['type']), $aDp);
 
-		//--- Experimental layout ---//
-		$iUserId = $this->_getAuthorId();
-        $isEditAllowedPermanently = ($r['cmt_author_id'] == $iUserId && $this->isEditAllowed()) || $this->isEditAllowedAll();
-        $isRemoveAllowedPermanently = ($r['cmt_author_id'] == $iUserId && $this->isRemoveAllowed()) || $this->isRemoveAllowedAll();
-        //--- Experimental layout ---//
-        
 		$bAuthorIcon = !empty($sAuthorIcon);
         return $oTemplate->parseHtmlByName('comment.html', array(
         	'system' => $this->_sSystem,
@@ -255,7 +249,6 @@ class BxBaseCmtsView extends BxDolCmts {
         		'condition' => !empty($aTmplReplyTo),
         		'content' => $aTmplReplyTo
         	),
-        	//--- Experimental layout ---//
         	'view_link' => bx_append_url_params($this->_sViewUrl, array(
         		'sys' => $this->_sSystem,
         		'id' => $this->_iId,
@@ -264,7 +257,6 @@ class BxBaseCmtsView extends BxDolCmts {
         	'ago' => $r['cmt_ago'],
         	'points_num' => $r['cmt_rate'],
         	'points_txt' => _t($r['cmt_rate'] == 1 || $r['cmt_rate'] == -1 ? '_cmt_point' : '_cmt_points'),
-        	//--- Experimental layout ---//
         	'text' => $sText,
         	'bx_if:show_more' => array(
         		'condition' => !empty($sTextMore),
@@ -274,42 +266,7 @@ class BxBaseCmtsView extends BxDolCmts {
         			'text_more' => $sTextMore
         		)
         	),
-        	//--- Experimental layout ---//
-        	'bx_if:show_reply' => array(
-				'condition' => $this->isPostReplyAllowed(),
-        		'content' => array(
-        			'js_object' => $this->_sJsObjName,
-        			'style_prefix' => $this->_sStylePrefix,
-        			'id' => $r['cmt_id'],
-        			'text' => _t(isset($r['cmt_type']) && $r['cmt_type'] == 'comment' ? '_Comment_to_this_comment' : '_Reply_to_this_comment')
-        		)
-        	),
-        	'bx_if:show_rate' => array(
-				'condition' => $this->isRatable(),
-        		'content' => array(
-        			'js_object' => $this->_sJsObjName,
-        			'style_prefix' => $this->_sStylePrefix,
-        			'id' => $r['cmt_id']
-        		)
-        	),
-        	'bx_if:show_edit' => array(
-				'condition' => $isEditAllowedPermanently,
-        		'content' => array(
-        			'js_object' => $this->_sJsObjName,
-        			'style_prefix' => $this->_sStylePrefix,
-        			'id' => $r['cmt_id']
-        		)
-        	),
-        	'bx_if:show_delete' => array(
-				'condition' => $isRemoveAllowedPermanently,
-        		'content' => array(
-        			'js_object' => $this->_sJsObjName,
-        			'style_prefix' => $this->_sStylePrefix,
-        			'id' => $r['cmt_id']
-        		)
-        	),
-        	'actions' => '',//$sActions,
-        	//--- Experimental layout ---//
+        	'actions' => $sActions,
         	'replies' =>  $sReplies
         ));
     }
@@ -378,11 +335,29 @@ class BxBaseCmtsView extends BxDolCmts {
 
 	function _getActionsBox(&$a, $aDp = array())
     {
+    	$oTemplate = BxDolTemplate::getInstance();
+
         $iUserId = $this->_getAuthorId();
         $isEditAllowedPermanently = ($a['cmt_author_id'] == $iUserId && $this->isEditAllowed()) || $this->isEditAllowedAll();
         $isRemoveAllowedPermanently = ($a['cmt_author_id'] == $iUserId && $this->isRemoveAllowed()) || $this->isRemoveAllowedAll();
 
-        return BxDolTemplate::getInstance()->parseHtmlByName('comment_actions.html', array(
+		$sManagePopupId = $sManagePopupText = '';
+        if($isEditAllowedPermanently || $isRemoveAllowedPermanently) {
+			$aMenu = array(
+				array('name' => 'cmt-edit', 'icon' => '', 'onclick' => $this->_sJsObjName . ".cmtEdit(this, " . $a['cmt_id'] . ")", 'title' => _t('_Edit')),
+				array('name' => 'cmt-delete', 'icon' => '', 'onclick' => $this->_sJsObjName . ".cmtRemove(this, " . $a['cmt_id'] . ")", 'title' => _t('_Delete')),
+			);
+
+        	bx_import('BxTemplStudioMenu');
+        	$oMenu = new BxTemplStudioMenu(array('template' => 'menu_vertical_lite.html', 'menu_items' => $aMenu));
+
+        	bx_import('BxTemplStudioFunctions');
+	        $sManagePopupText = BxTemplStudioFunctions::getInstance()->transBox($oTemplate->parseHtmlByName('comment_manage.html', array(
+	        	'content' => $oMenu->getCode()
+	        )));
+        }
+
+        return $oTemplate->parseHtmlByName('comment_actions.html', array(
         	'id' => $a['cmt_id'],
         	'style_prefix' => $this->_sStylePrefix,
         	'view_link' => bx_append_url_params($this->_sViewUrl, array(
@@ -409,22 +384,16 @@ class BxBaseCmtsView extends BxDolCmts {
         			'id' => $a['cmt_id']
         		)
         	),
-        	'bx_if:show_edit' => array(
-				'condition' => $isEditAllowedPermanently,
-        		'content' => array(
-        			'js_object' => $this->_sJsObjName,
-        			'style_prefix' => $this->_sStylePrefix,
-        			'id' => $a['cmt_id']
-        		)
-        	),
-        	'bx_if:show_delete' => array(
-				'condition' => $isRemoveAllowedPermanently,
+        	'bx_if:show_manage' => array(
+        		'condition' => $isEditAllowedPermanently || $isRemoveAllowedPermanently,
         		'content' => array(
         			'js_object' => $this->_sJsObjName,
         			'style_prefix' => $this->_sStylePrefix,
-        			'id' => $a['cmt_id']
+        			'id' => $a['cmt_id'],
+        			'popup_id' => $this->_sSystem . '-manage' . $a['cmt_id'],
+        			'popup_text' => $sManagePopupText
         		)
-        	),
+        	)
         ));
     }
 
@@ -460,6 +429,19 @@ class BxBaseCmtsView extends BxDolCmts {
         	'bx_if:show_icon_empty' => array(
         		'condition' => !$bAuthorIcon,
         		'content' => array()
+        	),
+        	'bx_if:show_author_link' => array(
+        		'condition' => !empty($sAuthorLink),
+        		'content' => array(
+        			'author_link' => $sAuthorLink,
+        			'author_name' => $sAuthorName
+        		)
+        	),
+        	'bx_if:show_author_text' => array(
+        		'condition' => empty($sAuthorLink),
+        		'content' => array(
+        			'author_name' => $sAuthorName
+        		)
         	),
 			'form' => $this->_getPostReplyForm($iCmtParentId)
     	));