danielebarchiesi@4: ' . t('About') . ''; danielebarchiesi@4: $output .= '

' . t('Display a GitHub-ribbon that links to your GitHub-account') . '

'; danielebarchiesi@4: return $output; danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Implements hook_permission(). danielebarchiesi@4: */ danielebarchiesi@4: function github_permission() { danielebarchiesi@4: return array( danielebarchiesi@4: 'administer github' => array( danielebarchiesi@4: 'title' => t('Administer Github'), danielebarchiesi@4: 'description' => t('Change settings for your Github ribbon'), danielebarchiesi@4: ), danielebarchiesi@4: ); danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Implements hook_menu(). danielebarchiesi@4: */ danielebarchiesi@4: function github_menu() { danielebarchiesi@4: $items = array(); danielebarchiesi@4: $items['admin/config/system/github'] = array( danielebarchiesi@4: 'title' => 'GitHub', danielebarchiesi@4: 'description' => 'Configuration for the GitHub module', danielebarchiesi@4: 'access arguments' => array('administer github'), danielebarchiesi@4: 'page callback' => 'drupal_get_form', danielebarchiesi@4: 'page arguments' => array('github_admin_settings'), danielebarchiesi@4: 'file' => 'github.admin.inc', danielebarchiesi@4: ); danielebarchiesi@4: return $items; danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Implements hook_page_build(). danielebarchiesi@4: */ danielebarchiesi@4: // function github_page_build(&$page) { danielebarchiesi@4: function github_page_alter(&$page) { danielebarchiesi@4: if (variable_get('github_username', '')) { danielebarchiesi@4: danielebarchiesi@4: $selectedRegion = variable_get('github_page_block', 'page_top'); danielebarchiesi@4: danielebarchiesi@4: $page[(string)$selectedRegion]['github_container'] = array( danielebarchiesi@4: '#markup' => github_ribbon(), danielebarchiesi@4: ); danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Custom function to display markup. danielebarchiesi@4: */ danielebarchiesi@4: function github_ribbon() { danielebarchiesi@4: $username = variable_get('github_username', ''); danielebarchiesi@4: $urls = github_ribbon_urls(); danielebarchiesi@4: $placement = variable_get('github_placement', 'left'); danielebarchiesi@4: $colour = variable_get('github_colour', 'red'); danielebarchiesi@4: $image_url = $urls[$placement][$colour]; danielebarchiesi@4: danielebarchiesi@4: return theme('github_ribbon', compact('username', 'image_url', 'placement')); danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Implements hook_theme() for github_ribbon(). danielebarchiesi@4: */ danielebarchiesi@4: function github_theme($existing, $type, $theme, $path) { danielebarchiesi@4: return array( danielebarchiesi@4: 'github_ribbon' => array( danielebarchiesi@4: 'variables' => array( danielebarchiesi@4: 'username' => NULL, danielebarchiesi@4: 'image_url' => NULL, danielebarchiesi@4: 'placement' => NULL, danielebarchiesi@4: ), danielebarchiesi@4: 'template' => 'github_ribbon', danielebarchiesi@4: ), danielebarchiesi@4: ); danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Custom function for image urls. danielebarchiesi@4: */ danielebarchiesi@4: function github_ribbon_urls() { danielebarchiesi@4: return array( danielebarchiesi@4: 'left' => array( danielebarchiesi@4: 'red' => drupal_get_path('module', 'github') . '/ribbons/forkme_left_red_aa0000.png', danielebarchiesi@4: 'green' => drupal_get_path('module', 'github') . '/ribbons/forkme_left_green_007200.png', danielebarchiesi@4: 'darkblue' => drupal_get_path('module', 'github') . '/ribbons/forkme_left_darkblue_121621.png', danielebarchiesi@4: 'orange' => drupal_get_path('module', 'github') . '/ribbons/forkme_left_orange_ff7600.png', danielebarchiesi@4: 'grey' => drupal_get_path('module', 'github') . '/ribbons/forkme_left_gray_6d6d6d.png', danielebarchiesi@4: 'white' => drupal_get_path('module', 'github') . '/ribbons/forkme_left_white_ffffff.png', danielebarchiesi@4: ), danielebarchiesi@4: 'right' => array( danielebarchiesi@4: 'red' => drupal_get_path('module', 'github') . '/ribbons/forkme_right_red_aa0000.png', danielebarchiesi@4: 'green' => drupal_get_path('module', 'github') . '/ribbons/forkme_right_green_007200.png', danielebarchiesi@4: 'darkblue' => drupal_get_path('module', 'github') . '/ribbons/forkme_right_darkblue_121621.png', danielebarchiesi@4: 'orange' => drupal_get_path('module', 'github') . '/ribbons/forkme_right_orange_ff7600.png', danielebarchiesi@4: 'grey' => drupal_get_path('module', 'github') . '/ribbons/forkme_right_gray_6d6d6d.png', danielebarchiesi@4: 'white' => drupal_get_path('module', 'github') . '/ribbons/forkme_right_white_ffffff.png', danielebarchiesi@4: ), danielebarchiesi@4: ); danielebarchiesi@4: }