pardot.module in Pardot Integration 7.2
Same filename and directory in other branches
Pardot integration module.
File
pardot.moduleView source
<?php
/**
* @file
* Pardot integration module.
*/
/**
* Implements hook_automate_tracking().
*/
function pardot_automate_tracking() {
// Add Pardot JavaScript.
pardot_js();
drupal_add_js(drupal_get_path('module', 'pardot') . '/pardot.js', array(
'scope' => 'footer',
));
}
/**
* Implements hook_theme().
*/
function pardot_theme($existing, $type, $theme, $path) {
return array(
'pardot_admin_scoring' => array(
'render element' => 'form',
'file' => 'pardot.admin-scoring.inc',
),
'pardot_admin_campaign' => array(
'render element' => 'form',
'file' => 'pardot.admin-campaign.inc',
),
);
}
/**
* Implements hook_menu().
*/
function pardot_menu() {
$items['admin/config/services/pardot'] = array(
'title' => 'Pardot',
'description' => 'Create and edit Pardot settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'pardot_admin_form',
),
'access arguments' => array(
'administer pardot',
),
'type' => MENU_NORMAL_ITEM,
// 'weight' => -1,
'file' => 'pardot.admin.inc',
);
$items['admin/config/services/pardot/general'] = array(
'title' => 'Settings',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -10,
);
$items['admin/config/services/pardot/scoring'] = array(
'title' => 'Scoring',
'description' => 'Create and edit Pardot scoring settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'pardot_admin_scoring',
),
'access arguments' => array(
'administer pardot',
),
'type' => MENU_LOCAL_TASK,
'file' => 'pardot.admin-scoring.inc',
);
$items['admin/config/services/pardot/scoring/%pardot_scoring/edit'] = array(
'title' => 'Scoring',
'description' => 'Create and edit Pardot scoring settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'pardot_admin_scoring_edit',
5,
),
'access arguments' => array(
'administer pardot',
),
'type' => MENU_CALLBACK,
'file' => 'pardot.admin-scoring.inc',
);
$items['admin/config/services/pardot/scoring/%pardot_scoring/delete'] = array(
'title' => 'Scoring',
'description' => 'Create and edit Pardot scoring settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'pardot_admin_scoring_delete',
5,
),
'access arguments' => array(
'administer pardot',
),
'type' => MENU_CALLBACK,
'file' => 'pardot.admin-scoring.inc',
);
$items['admin/config/services/pardot/campaign'] = array(
'title' => 'Campaigns',
'description' => 'Create and edit Pardot campaign settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'pardot_admin_campaign',
),
'access arguments' => array(
'administer pardot',
),
'type' => MENU_LOCAL_TASK,
'file' => 'pardot.admin-campaign.inc',
);
$items['admin/config/services/pardot/campaign/%pardot_campaign/edit'] = array(
'title' => 'Campaign',
'description' => 'Create and edit Pardot campaign settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'pardot_admin_campaign_edit',
5,
),
'access arguments' => array(
'administer pardot',
),
'type' => MENU_CALLBACK,
'file' => 'pardot.admin-campaign.inc',
);
$items['admin/config/services/pardot/campaign/%pardot_campaign/delete'] = array(
'title' => 'Campaign',
'description' => 'Create and edit Pardot campaign settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'pardot_admin_campaign_delete',
5,
),
'access arguments' => array(
'administer pardot',
),
'type' => MENU_CALLBACK,
'file' => 'pardot.admin-campaign.inc',
);
return $items;
}
/**
* Implements hook_permission().
*/
function pardot_permission() {
return array(
'administer pardot' => array(
'title' => t('Administer pardot'),
'description' => t('Administer pardot'),
),
);
}
/**
* Implements hook_help().
*/
function pardot_help($path, $arg) {
switch ($path) {
case 'admin/config/services/pardot':
return t('For help finding tracking code, follow the !instructions found on the Pardot help site', array(
'!instructions' => l(t('instructions'), 'http://help.pardot.com/faqs/campaigns/tracking-code'),
));
}
}
/**
* Processes pardot_js() variables and adds settings.
*
* @group themeable
*/
function pardot_js() {
$settings['pardot_a_id'] = check_plain(variable_get('pardot_a_id', ''));
// Compare with the internal and path alias (if any) to find any special campaigns.
$results = db_query('SELECT campaign_id, paths FROM {pardot_campaign}');
foreach ($results as $row) {
$path = drupal_get_path_alias($_GET['q']);
// Compare with the internal and path alias (if any).
$page_match = drupal_match_path($path, $row->paths);
if ($path != $_GET['q']) {
$page_match = $page_match || drupal_match_path($_GET['q'], $row->paths);
}
if ($page_match) {
$settings['pardot_c_id'] = check_plain($row->campaign_id);
break;
}
}
if (!isset($settings['pardot_c_id'])) {
$settings['pardot_c_id'] = check_plain(variable_get('pardot_c_id', ''));
}
// Compare with the internal and path alias (if any) and add scoring.
$path = drupal_get_path_alias($_GET['q']);
$score = db_query("SELECT score FROM {pardot_scoring} WHERE path = :path", array(
':path' => $path,
))
->fetchField();
if (!$score) {
$score = db_query("SELECT score FROM {pardot_scoring} WHERE path = :path", array(
':path' => $_GET['q'],
))
->fetchField();
}
$settings['score'] = check_plain($score);
drupal_add_js(array(
'pardot' => $settings,
), 'setting');
}
/**
* Loads a Pardot scoring object.
*
* @param int $scoring_id
* The scoring object ID.
*/
function pardot_scoring_load($scoring_id) {
return db_query('SELECT * FROM {pardot_scoring} WHERE scoring_id = :scoring_id', array(
':scoring_id' => $scoring_id,
))
->fetchObject();
}
/**
* Loads a Pardot campaign object.
*
* @param int $campaign
* The campaign ID.
*/
function pardot_campaign_load($campaign) {
return db_query('SELECT * FROM {pardot_campaign} WHERE campaign_id = :campaign_id', array(
':campaign_id' => $campaign,
))
->fetchObject();
}
Functions
Name![]() |
Description |
---|---|
pardot_automate_tracking | Implements hook_automate_tracking(). |
pardot_campaign_load | Loads a Pardot campaign object. |
pardot_help | Implements hook_help(). |
pardot_js | Processes pardot_js() variables and adds settings. |
pardot_menu | Implements hook_menu(). |
pardot_permission | Implements hook_permission(). |
pardot_scoring_load | Loads a Pardot scoring object. |
pardot_theme | Implements hook_theme(). |