Skip to content
This repository has been archived by the owner on Jan 21, 2020. It is now read-only.

Commit

Permalink
Merge pull request #1708 from vogdb/issue-1708
Browse files Browse the repository at this point in the history
Epom Adprovider
  • Loading branch information
vogdb committed Mar 31, 2015
2 parents a630543 + dc2721f commit e025d04
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 0 deletions.
53 changes: 53 additions & 0 deletions client-vendor/after-body/jquery.epom/jquery.epom.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Author: CM
*/
(function($, global) {

/**
* @param {String} category
* @param {String} action
* @param {String} label
*/
function trackEvent(category, action, label) {
if (global.ga) {
global.ga('send', {
'hitType': 'event',
'eventCategory': category,
'eventAction': action,
'eventLabel': label,
});
}
}

$.fn.epom = function() {
return this.each(function() {
var zoneId = $(this).data('zone-id');
var variables = $(this).data('variables');
var src = (location.protocol == 'https:' ? 'https:' : 'http:') + '//n181adserv.com\/ads-api';
var $element = $(this);

var loadCallback = function(result) {
if (result.success) {
$element.html(result.code);
var hasContent = !$element.is(':empty');
$element.trigger('epom-loaded', {hasContent: hasContent});

if (hasContent) {
$element.addClass('advertisement-hasContent');
trackEvent('Banner', 'Impression', 'zone-' + zoneId);
var $link = $element.find('a[href]');
if ($element.is(':visible') && $link.length > 0) {
trackEvent('Banner', 'Impression-Clickable', 'zone-' + zoneId);
$link.on('click', function() {
trackEvent('Banner', 'Click', 'zone-' + zoneId);
});
}
}
}
};

variables['format'] = 'jsonp';
$.getJSON(src + '?callback=?', variables, loadCallback);
});
};
})(jQuery, window);
23 changes: 23 additions & 0 deletions library/CM/AdproviderAdapter/Epom.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

class CM_AdproviderAdapter_Epom extends CM_AdproviderAdapter_Abstract {

public function getHtml($zoneData, array $variables) {
$zoneId = CM_Util::htmlspecialchars($zoneData['zoneId']);
$variables = $this->_variableKeysToUnderscore($variables);
$variables['key'] = '2ea5b261f06ca771033a5fa9e22493f1';

$html = '<div id="epom-' . $zoneId . '" class="epom-ad" data-zone-id="' . $zoneId . '" data-variables="' .
CM_Util::htmlspecialchars(json_encode($variables, JSON_FORCE_OBJECT)) . '"></div>';
return $html;
}

private function _variableKeysToUnderscore($variables) {
foreach ($variables as $key => $value) {
unset ($variables[$key]);
$underscoreKey = str_replace('-', '_', $key);
$variables[$underscoreKey] = $value;
}
return $variables;
}
}
1 change: 1 addition & 0 deletions library/CM/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@ var CM_App = CM_Class_Abstract.extend({
$dom.find('.toggleNext').toggleNext();
$dom.find('.tabs').tabs();
$dom.find('.openx-ad:visible').openx();
$dom.find('.epom-ad').epom();
$dom.find('.fancySelect').fancySelect();
},
/**
Expand Down

0 comments on commit e025d04

Please sign in to comment.