Explorar o código

Ticket #4128 - Title - Name dependent fields don't work in Ads in United post form: in Market.

AntonLV %!s(int64=3) %!d(string=hai) anos
pai
achega
f0cc12af6b

+ 2 - 2
modules/boonex/market/classes/BxMarketFormEntry.php

@@ -26,9 +26,9 @@ class BxMarketFormEntry extends BxBaseModTextFormEntry
         if(isset($this->aInputs[$CNF['FIELD_TITLE']], $this->aInputs[$CNF['FIELD_NAME']])) {
             $sJsObject = $this->_oModule->_oConfig->getJsObject('form');
 
-            $aMask = array('mask' => "javascript:%s.checkName('%s', '%s');", $sJsObject, $CNF['FIELD_TITLE'], $CNF['FIELD_NAME']);
+            $aMask = array('mask' => "javascript:%s.checkName(this, '%s', '%s');", $sJsObject, $CNF['FIELD_TITLE'], $CNF['FIELD_NAME']);
             if($this->aParams['display'] == $CNF['OBJECT_FORM_ENTRY_DISPLAY_EDIT'] && bx_get('id') !== false) {
-                $aMask['mask'] = "javascript:%s.checkName('%s', '%s', %d);";
+                $aMask['mask'] = "javascript:%s.checkName(this, '%s', '%s', %d);";
                 $aMask[] = (int)bx_get('id');
             }
 

+ 29 - 79
modules/boonex/market/js/entry.js

@@ -9,7 +9,7 @@
  */
 
 function BxMarketEntry(oOptions) {
-	this._sActionsUri = oOptions.sActionUri;
+    this._sActionsUri = oOptions.sActionUri;
     this._sActionsUrl = oOptions.sActionUrl;
     this._sObjName = oOptions.sObjName == undefined ? 'oBxMarketEntry' : oOptions.sObjName;
     this._iOwnerId = oOptions.iOwnerId == undefined ? 0 : oOptions.iOwnerId;
@@ -25,11 +25,11 @@ function BxMarketEntry(oOptions) {
 }
 
 BxMarketEntry.prototype.perform = function(oLink, sAction, iId) {
-	var oDate = new Date();
+    var oDate = new Date();
     var oData = {
     	action: sAction,
     	id: iId,
-		_t:oDate.getTime()
+        _t:oDate.getTime()
     };
 
     $(oLink).parents('.bx-popup-applied:first:visible').dolPopupHide({});
@@ -38,96 +38,46 @@ BxMarketEntry.prototype.perform = function(oLink, sAction, iId) {
         this._sActionsUrl + 'perform/',
         oData,
         function(oData) {
-        	processJsonData(oData);
+            processJsonData(oData);
         },
         'json'
     );
 };
 
-BxMarketEntry.prototype.checkName = function(sTitleId, sNameId, iId) {
-	var oDate = new Date();
-
-	var oName = jQuery("[name='" + sNameId + "']");
-	var sName = oName.val();
-	var bName = sName.length != 0;
-	
-	var oTitle = jQuery("[name='" + sTitleId + "']");
-	var sTitle = oTitle.val();
-	var bTitle = sTitle.length != 0;
-
-	if(!bName && !bTitle)
-		return;
-
-	var sTitleCheck = '';
-	if(bName)
-		sTitleCheck = sName;
-	else if(bTitle) {
-		sTitleCheck = sTitle;
-
-		sTitle = sTitle.replace(/[^A-Za-z0-9_]/g, '-');
-		sTitle = sTitle.replace(/[-]{2,}/g, '-');
-		oName.val(sTitle.toLowerCase());
-	}
-
-	jQuery.get(
-		this._sActionsUrl + 'check_name',
-		{
-			title: sTitleCheck,
-			id: iId && parseInt(iId) > 0 ? iId : 0,
-    		_t: oDate.getTime()
-    	},
-    	function(oData) {
-    		if(!oData || oData.name == undefined)
-    			return;
-
-    		oName.val(oData.name);
-    	},
-    	'json'
-	);
-};
-
-BxMarketEntry.prototype.changeFileType = function(oSelect) {
-	var sValue = jQuery(oSelect).val();
-
-	jQuery(oSelect).parents('.bx-uploader-ghost:first').find('.bx-uploader-ghost-type-rel:visible').bx_anim('hide', 'fade', 'fast', function() {
-		jQuery(this).parent().find('.bx-uploader-ghost-type-' + sValue).bx_anim('show', 'fade', 'fast');
-	});
-};
-
 BxMarketEntry.prototype.initScreenshots = function() {
-	var oItems = jQuery(".bx-market-screenshots .bx-market-ss-item");
-	if(oItems.length == 0)
-            return;
-
-	var iWidth = oItems.width();
-	var iWidthOuter = oItems.outerWidth();
-	var bBusy = false;
-
-	oItems.find('a[rel=group]').fancybox({
-            type: 'image',
-            transitionIn: 'elastic',
-            transitionOut: 'elastic',
-            speedIn: 600,
-            speedOut: 200
-	});
+    var oItems = jQuery(".bx-market-screenshots .bx-market-ss-item");
+    if(oItems.length == 0)
+        return;
+
+    var iWidth = oItems.width();
+    var iWidthOuter = oItems.outerWidth();
+    var bBusy = false;
+
+    oItems.find('a[rel=group]').fancybox({
+        type: 'image',
+        transitionIn: 'elastic',
+        transitionOut: 'elastic',
+        speedIn: 600,
+        speedOut: 200
+    });
 
-	if(oItems.length <= 2)
-            return;
+    if(oItems.length <= 2)
+        return;
 
-	$('.bx-market-screenshots').flickity({
-            cellSelector: '.bx-market-ss-item',
-            cellAlign: 'left',
-            imagesLoaded: true,
-            wrapAround: true,
-            pageDots: false
-	});
+    $('.bx-market-screenshots').flickity({
+        cellSelector: '.bx-market-ss-item',
+        cellAlign: 'left',
+        imagesLoaded: true,
+        wrapAround: true,
+        pageDots: false
+    });
 };
 
 /**
  * Is used on Downloads page to show old versions. 
  */
 BxMarketEntry.prototype.showMore = function() {
-	$('.bx-market-attachment:not(.bx-market-attachment-main)').bx_anim('toggle', this._sAnimationEffect, this._sAnimationSpeed);
+    $('.bx-market-attachment:not(.bx-market-attachment-main)').bx_anim('toggle', this._sAnimationEffect, this._sAnimationSpeed);
 };
 
 /** @} */

+ 4 - 3
modules/boonex/market/js/form.js

@@ -61,14 +61,15 @@ BxMarketForm.prototype.toggleGhost = function(oLink) {
     });
 };
 
-BxMarketForm.prototype.checkName = function(sTitleId, sNameId, iId) {
+BxMarketForm.prototype.checkName = function(oSource, sTitleId, sNameId, iId) {
     var oDate = new Date();
+    var oForm = jQuery(oSource).parents('.bx-form-advanced:first');
 
-    var oName = jQuery("[name='" + sNameId + "']");
+    var oName = oForm.find("[name='" + sNameId + "']");
     var sName = oName.val();
     var bName = sName.length != 0;
 
-    var oTitle = jQuery("[name='" + sTitleId + "']");
+    var oTitle = oForm.find("[name='" + sTitleId + "']");
     var sTitle = oTitle.val();
     var bTitle = sTitle.length != 0;