All pastes #82863 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-07-09 00:33 UTC
rendered paste body
<?php
// $Id: alexa.module,v 1.0 2006/07/07 xxx_xxx_ Exp $

/**
* @file
* Grab the latest info from Alexa
*/





 
/********************************************************************
* Drupal Hooks
********************************************************************/

/**
 * Implementation of hook_help().
 */
function alexa_help($section) {
  switch ($section) {
    case 'admin/modules#description':
      return t('grab the latest alexa data from www.alexa.com');
  }
}
function alexa_perm() {
  return array ('use alexa');
}

function alexa_link($type, $node = 0, $main = 0) {
  global $user;

  $links = array();

  if ($type == 'page' && user_access('use alexa')) {
    $links[] = l(t('alexa'), 'alexa');
  }

  return $links;
}




function alexa_menu($may_cache) {
  global $user;
  $items = array();
$access = user_access('use alexa');
  $title  = t(variable_get('alexa_overview_title', 'alexa'));
  $path   = 'alexa';

  $items[] = array(
    'path'     => $path,
    'title'    => $title,
    'access'   => $access,
    'callback' => 'alexa_page',
    'weight'   => 0,
  );

  return $items;
}


// Display the form
function alexa_form() {
  $edit   = isset($_POST['edit']) ? $_POST['edit'] : '';

    
  $form['button1'] = array(
       '#type' => 'textfield',
       '#title' => t('1st domain'),
       );
  $form['button2'] = array(
       '#type' => 'textfield',
       '#title' => t('2nd domain'),
       );
  $form['button3'] = array(
       '#type' => 'textfield',
       '#title' => t('3rd domain'),
       );
  $form['button4'] = array(
       '#type' => 'textfield',
       '#title' => t('4th domain'),
       );
  $form['button5'] = array(
       '#type' => 'textfield',
       '#title' => t('5th domain'),
      );
  return $form;
  }


/**
 * Fetch the alexa info for a given ticker symbol from alexa!
 */
function alexa_fetch($form) {
  if (empty($form)) {
    return FALSE;
  }



  $host = 'http://traffic.alexa.com/graph?w=725&h=370&r=1m&y=r&a=1&z=1&u=';
  $url = $host . urlencode($form['button1']) .'&u='.urlencode($form['button2']).'&u='.urlencode($form['button3']).'&u='.urlencode($form['button4']).'&u='.urlencode($form['button5']);
  $contents = @file_get_contents($url);
  if ($contents) {
    if ($data = explode(',', str_replace('"', '', $contents))) {
      $data = array_map('trim', $data);
      return $data;
    }
  }

  return FALSE;
}

?>