What language is this? (from Beatport.com)

Discussion in 'Programming' started by joliett89, Dec 25, 2011.

  1. #1
    Thats from the bottom of the main page with disabled CSS:

    
    [% _.each(data.artists, function(artist){ %] Follow [%=artist.name=%] [% }); %] Follow [%=data.label.name=%]
    [% if(data.saleType === 'purchase') { %] [% print(BP.functions.formatCurrency(data.price, "usd")); %] [% } else { %] View Track [% } %]
    [% _.each(data, function(item){ %] [% var classes = [], active = '', small = ''; if(item.children){ classes.push('parent'); } if(item.played){ classes.push('played'); } if(item.parentId){ classes.push('child'); small = 'small'; } if(item.queuePosition === (BP.queuePosition||-1) ){ classes.push('active'); active = 'active'; } %]
    [% if(item.type == 'track'){ %] [%=item.title=%] [% } else { %] [%=item.name=%] [% } %] [% if(item.artists){ %] [%=BP.functions.renderTemplate('tmpl-player-artists', item )=%] [% } %] [% if(item.label){ %] [%=item.label.name=%] [% } %] [% if(item.releaseDate){ %] [%=item.releaseDate=%] [% } %] [% if(item.type==="track"||item.type==="release"||item.type==="chart"){ %] [%=BP.functions.renderTemplate('tmpl-btn-buy-small', item)=%] [% } %] X
    [% }); %]
    
    Code (markup):
    It looks a little bit like JavaScript, but I am not sure...
    By the way, how do you think the website is implemented (music store, about 250k hits per day)?
    What programming language do they use (or what would be the best language for a site like that)?
    Do they play (preview) tracks from the disk evrytime somebody wants to listen (reference to files in MySQL, but actual files read from a disk etc)?
    Just wondering...

    Thank you.
     
    joliett89, Dec 25, 2011 IP
  2. kind_of_the_cash

    kind_of_the_cash Active Member

    Messages:
    852
    Likes Received:
    13
    Best Answers:
    0
    Trophy Points:
    85
    #2
    seems encoded javascript
     
    kind_of_the_cash, Dec 25, 2011 IP
  3. mmerlinn

    mmerlinn Prominent Member

    Messages:
    3,197
    Likes Received:
    819
    Best Answers:
    7
    Trophy Points:
    320
    #3
    Javascript? It does not look like any form of Javescript I ever saw.
     
    mmerlinn, Dec 25, 2011 IP
  4. Irfi0009

    Irfi0009 Banned

    Messages:
    17,584
    Likes Received:
    33
    Best Answers:
    1
    Trophy Points:
    48
    #4
    looks java script.
     
    Irfi0009, Dec 25, 2011 IP
  5. visualgaurd

    visualgaurd Peon

    Messages:
    10
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #5
    in the script there is declared array so it's store music, and some of tag like artist and etc.. so any one can know easily it's implements music.
     
    visualgaurd, Dec 27, 2011 IP
  6. kind_of_the_cash

    kind_of_the_cash Active Member

    Messages:
    852
    Likes Received:
    13
    Best Answers:
    0
    Trophy Points:
    85
    #6
    Yeah kind of a array but encoded

    mmerlinn - If you didn't see those code because...look carefully at this time.
     
    kind_of_the_cash, Dec 27, 2011 IP
  7. joliett89

    joliett89 Active Member

    Messages:
    124
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    53
    #7
    That's from "View source":

    <script type="text/javascript">var BP={};</script>
    <script type="text/javascript" src="/s/a95ca36b3053ac520df648128898a3ea/js/core/jquery-1.6.4.min.js"></script>
    <script type="text/javascript" src="/s/a95ca36b3053ac520df648128898a3ea/js/core/lab.js"></script>

    It looks like BP might be an object (music player on the top of the page), and it would be that encoded JavaScript.

    [% data.size = data.size ? data.size : 'medium'; %] [%=BP.functions.formatCurrency(data.price, "usd") =%]
    [% data.size = 'small'; %] [%= BP.functions.renderTemplate('tmpl-btn-buy', data)=%]
    [% switch(data.saleType){ case 'mixOnly': print(BP.functions.renderTemplate('tmpl-btn-mix-only',data)); break; case 'albumOnly': print(BP.functions.renderTemplate('tmpl-btn-album-only',data)); break; case 'download': print(BP.functions.renderTemplate('tmpl-btn-promo-dl',data)); break; case 'purchase': data.size = 'small'; print(BP.functions.renderTemplate('tmpl-btn-buy',data)); break; }%]
    [% var rendered = []; _.each(data, function(genre){ genre.type = 'genre'; rendered.push( BP.templates['tmpl-item-link']({data:genre}) ); }); %] [%=rendered.join(', ')=%]
    [%=data.name=%]
    [%=data.title=%]
    [%=data.name=%]
    [%= BP.functions.renderArtistTemplate( data, 'remixer') =%]
    [%= BP.functions.renderArtistTemplate( data, 'artist') =%]
    [%=col.displayName=%]
    [%=data.filter.name=%] [% if(data.filter.count) { %] ([%=data.filter.count=%]) [% } %]
    [%=data.filter.name=%]
    [% if(data.filter.custom){ %] [%=BP.functions.renderTemplate('tmpl-filter-menu-custom-date-range', {filter: data.filter } )=%] [% } else { %] [%=BP.functions.renderTemplate('tmpl-filter-menu-group-available', { filter: data.filter })=%] [% } %]
    [%=data.groupName=%]
    [% _.each(data.group, function(filter, name){ if(filter.applied){ %] [%=BP.functions.renderTemplate('tmpl-filter-menu-group-applied', { filter: filter })=%] [% } else { %] [%=BP.functions.renderTemplate('tmpl-filter-menu-group-available', { filter: filter })=%] [% } %] [% }); %]
    [% _.each( data.metadata.facets.fields, function(group, groupName){ %] [%=BP.functions.renderTemplate('tmpl-filter-menu-group', { group: group, groupName: groupName })=%] [% }); %]
    [% for( var i in data.metadata.filtering.dateFilters) { var filter = data.metadata.filtering.dateFilters; %] [% if(filter.applied) { %] [%=BP.functions.renderTemplate('tmpl-filter-menu-group-applied', { filter: filter })=%] [% } else { %] [%=BP.functions.renderTemplate('tmpl-filter-menu-date-available', {filter: filter } )=%] [% } %] [% } %]
    [% if(data.bpm){ print(data.bpm); } %] [% if(data.key){ print(data.key.standard.letter); if( data.key.standard.flat ){ print('♭'); } else if( data.key.standard.sharp ){ print('♯'); } if( data.key.standard.chord ){ print( ' ' + data.key.standard.chord); } } %]
    [% shareHrefs = BP.functions.getShareHrefs(data); %]
    [% _.each(data.artists, function(artist){ %] Follow [%=artist.name=%] [% }); %] Follow [%=data.label.name=%]
    [% if(data.saleType === 'purchase') { %] [% print(BP.functions.formatCurrency(data.price, "usd")); %] [% } else { %] View Track [% } %]
    [% _.each(data, function(item){ %] [% var classes = [], active = '', small = ''; if(item.children){ classes.push('parent'); } if(item.played){ classes.push('played'); } if(item.parentId){ classes.push('child'); small = 'small'; } if(item.queuePosition === (BP.queuePosition||-1) ){ classes.push('active'); active = 'active'; } %]
    [% if(item.type == 'track'){ %] [%=item.title=%] [% } else { %] [%=item.name=%] [% } %] [% if(item.artists){ %] [%=BP.functions.renderTemplate('tmpl-player-artists', item )=%] [% } %] [% if(item.label){ %] [%=item.label.name=%] [% } %] [% if(item.releaseDate){ %] [%=item.releaseDate=%] [% } %] [% if(item.type==="track"||item.type==="release"||item.type==="chart"){ %] [%=BP.functions.renderTemplate('tmpl-btn-buy-small', item)=%] [% } %] X
    [% }); %]
     
    joliett89, Dec 28, 2011 IP