You are here

function simple_package_tracking_carriers_view in Simple Package Tracking 7

1 string reference to 'simple_package_tracking_carriers_view'
simple_package_tracking_menu in ./simple_package_tracking.module
Implements hook_shipping_menu().

File

./simple_package_tracking.module, line 1030

Code

function simple_package_tracking_carriers_view() {
  $parameters = drupal_get_query_parameters();
  $carrier_id = '';
  if (isset($parameters['carrierid'])) {
    $carrier_id = $parameters['carrierid'];
  }
  $pattern = '';
  if (isset($parameters['pattern'])) {
    $pattern = $parameters['pattern'];
  }

  //drupal_set_message("'$carrier_id' -- '$pattern'");
  $output = '';
  $carriers = simple_package_tracking_get_carriers();
  $header = array(
    t('ID'),
    t('Name'),
    t('Tracking URL'),
    t('Operations'),
  );
  $rows = array();
  $attributes = array();
  $base_path = base_path();
  foreach ($carriers as $id => $carrier) {
    $row = array();
    $row[] = $id;
    $row[] = $carrier['name'];
    $row[] = $carrier['url'];
    $row[] = t('<a href="@editlink" title="Edit this carrier">Edit</a>', array(
      '@editlink' => $base_path . 'admin/commerce/config/tracking/carriers/' . $id . '/edit',
    )) . ' &nbsp;&nbsp; ' . t('<a href="@deletelink" title="Delete this carrier">Delete</a>', array(
      '@deletelink' => $base_path . 'admin/commerce/config/tracking/carriers/' . $id . '/delete',
    ));
    $rows[] = $row;
  }
  if (count($rows) === 0) {
    $rows = array(
      array(
        'data' => array(
          array(
            'data' => t('No carriers have been added yet'),
            'colspan' => 3,
          ),
        ),
      ),
    );
  }
  $output = array(
    'title_part' => array(
      '#markup' => '<h3>' . t('Existing Carriers:') . '</h3>',
    ),
    'listing_part' => array(
      '#type' => 'container',
      '#attributes' => array(
        'class' => array(
          'simple-package-tracking-carrier-listing',
        ),
      ),
      'list_table' => array(
        '#theme' => 'table',
        '#header' => $header,
        '#rows' => $rows,
        '#attributes' => array(),
      ),
    ),
    'form_part' => array(
      '#type' => 'container',
      '#attributes' => array(
        'class' => array(
          'tracking-carrier-add-link',
        ),
      ),
      drupal_get_form('simple_package_tracking_carriers_add_form'),
    ),
    'config_part' => array(
      '#type' => 'container',
      '#attributes' => array(
        'class' => array(
          'tracking-carrier-add-link',
        ),
      ),
      drupal_get_form('simple_package_tracking_config_form'),
    ),
  );
  if ($pattern != '') {
    $output['form_part'][0]['carrier_url']['#value'] = $pattern;
    $output['form_part'][0]['help']['#markup'] = '<div>' . t('The "Carrier URL" field below has been pre-filled for your selected carrier. To use this carrier, enter a human-readable name in the "New carrier name" box above, leave the "Example tracking number" box empty, and Save.') . '</div><div>' . l(t('Get another carrier.'), 'admin/commerce/config/tracking/carriers/listing') . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . l(t('Reset form.'), 'admin/commerce/config/tracking/carriers');
  }
  if ($carrier_id != '') {
    $output['form_part'][0]['help']['#markup'] = '<div>' . t('You have selected carrier !id.', array(
      '!id' => "<b>{$carrier_id}</b>",
    )) . '</div>' . $output['form_part'][0]['help']['#markup'];
  }
  $output = drupal_render($output);
  return $output;
}