[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/panels/panels_ipe/ -> panels_ipe.module (source)

   1  <?php
   2  
   3  /**
   4   * Implementation of hook_ctools_plugin_directory().
   5   */
   6  function panels_ipe_ctools_plugin_directory($module, $plugin) {
   7    if ($module == 'panels' && $plugin == 'display_renderers') {
   8      return 'plugins/' . $plugin;
   9    }
  10  }
  11  
  12  /**
  13   * Implementation of hook_ctools_plugin_api().
  14   *
  15   * Inform CTools about version information for various plugins implemented by
  16   * Panels.
  17   *
  18   * @param string $owner
  19   *   The system name of the module owning the API about which information is
  20   *   being requested.
  21   * @param string $api
  22   *   The name of the API about which information is being requested.
  23   */
  24  function panels_ipe_ctools_plugin_api($owner, $api) {
  25    if ($owner == 'panels' && $api == 'pipelines') {
  26      return array(
  27        'version' => 1,
  28        'path' => drupal_get_path('module', 'panels_ipe') . '/includes',
  29      );
  30    }
  31  }
  32  
  33  /**
  34   * Implementation of hook_theme().
  35   */
  36  function panels_ipe_theme() {
  37    return array(
  38      'panels_ipe_pane_wrapper' => array(
  39        'arguments' => array('output' => NULL, 'pane' => NULL, 'display' => NULL),
  40      ),
  41      'panels_ipe_region_wrapper' => array(
  42        'arguments' => array('output' => NULL, 'region_id' => NULL, 'display' => NULL, 'renderer' => NULL),
  43      ),
  44      'panels_ipe_add_pane_button' => array(
  45        'arguments' => array('region_id' => NULL, 'display' => NULL, 'renderer' => NULL),
  46      ),
  47      'panels_ipe_placeholder_pane' => array(
  48        'arguments' => array('region_id' => NULL, 'region_title' => NULL),
  49      ),
  50      'panels_ipe_dnd_form_container' => array(
  51        'arguments' => array('link' => NULL, 'cache_key' => NULL, 'display' => NULL),
  52      ),
  53    );
  54  }
  55  
  56  /**
  57   * Theme the 'placeholder' pane, which is shown on an active IPE when no panes
  58   * live in that region.
  59   *
  60   * @param string $region_id
  61   * @param string $region_title
  62   */
  63  function theme_panels_ipe_placeholder_pane($region_id, $region_title) {
  64    $output = '<div class="panels-ipe-placeholder-content">';
  65    $output .= "<h3>$region_title</h3>";
  66    $output .= '</div>';
  67    return $output;
  68  }
  69  
  70  function theme_panels_ipe_pane_wrapper($output, $pane, $display, $renderer) {
  71    $content_type = ctools_get_content_type($pane->type);
  72    $subtype = ctools_content_get_subtype($content_type, $pane->subtype);
  73    $links = array();
  74  
  75    if (ctools_content_editable($content_type, $subtype, $pane->configuration)) {
  76      $links['edit'] = array(
  77        'title' => isset($content_type['edit text']) ? $content_type['edit text'] : t('Settings'),
  78        'href' => $renderer->get_url('edit-pane', $pane->pid),
  79        'attributes' => array(
  80          'class' => 'ctools-use-modal',
  81          // 'id' => "pane-edit-panel-pane-$pane->pid",
  82        ),
  83      );
  84    }
  85  
  86    // Deleting is managed entirely in the js; this is just an attachment point
  87    // for it
  88    $links['delete'] = array(
  89      'title' => t('Delete'),
  90      'href' => '#',
  91      'attributes' => array(
  92        'class' => 'pane-delete',
  93        'id' => "pane-delete-panel-pane-$pane->pid",
  94      ),
  95    );
  96  
  97    $attr = array(
  98      'class' => 'panels-ipe-linkbar',
  99    );
 100  
 101    $links = theme('links', $links, $attr);
 102    $links .= '<div class="panels-ipe-draghandle">&nbsp;</div>';
 103    $handlebar = '<div class="panels-ipe-handlebar-wrapper panels-ipe-on clear-block">' . $links . '</div>';
 104    return $handlebar . $output;
 105  }
 106  
 107  function theme_panels_ipe_region_wrapper($output, $region_id, $display) {
 108    return $output;
 109  }
 110  
 111  function theme_panels_ipe_add_pane_button($region_id, $display, $renderer) {
 112    $attr = array('class' => 'ctools-use-modal');
 113    $link = l(t('Add new pane'), $renderer->get_url('select-content', $region_id), array('attributes' => $attr));
 114    return '<div class="panels-ipe-newblock panels-ipe-on panels-ipe-portlet-static">' . $link . '</div>';
 115  }
 116  
 117  function panels_ipe_get_cache_key($key = NULL) {
 118    static $cache;
 119    if (isset($key)) {
 120      $cache = $key;
 121    }
 122    return $cache;
 123  }
 124  
 125  /**
 126   * Implementation of hook_footer()
 127   *
 128   * Adds the IPE control container.
 129   *
 130   * @param unknown_type $main
 131   */
 132  function panels_ipe_footer($main = 0) {
 133    $key = panels_ipe_get_cache_key();
 134    if (!isset($key)) {
 135      return;
 136    }
 137  
 138    // TODO should be moved into the IPE plugin - WAAAY too hardcoded right now
 139    $output = "<div id='panels-ipe-control-container' class='clear-block'>";
 140    $output .= "<div id='panels-ipe-control-$key' class='panels-ipe-control'>";
 141    $output .= "<div class='panels-ipe-startedit panels-ipe-pseudobutton panels-ipe-off'>";
 142    $output .= "<span>" . t('Customize this page') . "</span>";
 143    $output .= "</div>";
 144    $output .= "<div class='panels-ipe-form-container panels-ipe-on clear-block'</div>";
 145    $output .= "</div></div>";
 146    return $output;
 147  }


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7