Changeset 768434
- Timestamp:
- 09/08/2013 12:09:55 AM (13 years ago)
- File:
-
- 1 edited
-
siteapps/trunk/views/widgets/onload.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
siteapps/trunk/views/widgets/onload.php
r768400 r768434 23 23 function mustRunWidget (segments, expression) { 24 24 // expression must be a logical expression of bucket values. eg: (A or B) and C 25 var userBuckets = segments 25 26 var userSegments = segments 26 27 , expressionForEval = expression.replace(/\s+and\s+/ig, '&&').replace(/\s+or\s+/ig, '||') 27 , regexString = []28 28 , regex = null 29 29 , i = 0; 30 30 31 for(i in userBuckets) { 32 regexString.push(userBuckets); 31 var tokensMy = expressionForEval.replace(/\(/g, "").replace(/\)/g, "").replace(/\&\&/g, ' ').replace(/\|\|/g, ' '); 32 var allSegments = tokensMy.split(' '); 33 34 for(var s in allSegments) { 35 var replacement = 'false'; 36 var seg = allSegments[s]; 37 if (userSegments.indexOf(seg) != -1) { 38 replacement = 'true'; 39 } 40 regex = new RegExp(allSegments[s], 'ig'); 41 expressionForEval = expressionForEval.replace(regex, replacement); 33 42 } 34 regexString = regexString.join('|'); 35 regex = new RegExp(regexString, 'ig'); 36 37 expressionForEval = expressionForEval.replace(regex, 'true'); 43 consoleWrite('expression: ' , expressionForEval); 44 38 45 try { 39 eval(expressionForEval);46 return eval(expressionForEval); 40 47 } catch (err) { 48 consoleWrite('error: ' , err); 41 49 return false; 42 50 } … … 47 55 var widgetsToShow = toArray(<?php print $widgetsToShow; ?>), 48 56 widgetsToHide = toArray(<?php print $widgetsToHide; ?>), 49 expressionsToShow = toArray({"recent-posts- 2": "default_new_visitor", "recent-comments-2": "mobileor default_new_visitor"});57 expressionsToShow = toArray({"recent-posts-3": "alow", "recent-posts-2": "default_new_visitor", "recent-comments-2": "mobile or default_new_visitor", "archives-2": "((marcelio or errado) and (teste or default_new_visitor)) or default_new_visitor"}); 50 58 51 59 … … 68 76 consoleWrite('widget: ', ex); 69 77 var show = mustRunWidget(segments, expression); 70 consoleWrite('show', show);71 78 if (show) { 72 79 changeDisplay([ex], "block");
Note: See TracChangeset
for help on using the changeset viewer.