Blame view

pma/libraries/transformations/application_octetstream__download.inc.php 1.41 KB
a1684257   Administrator   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  <?php
  /* vim: set expandtab sw=4 ts=4 sts=4: */
  /**
   * @package PhpMyAdmin-Transformation
   */
  
  function PMA_transformation_application_octetstream__download_info()
  {
      return array(
          'info' =>  __('Displays a link to download the binary data of the column. You can use the first option to specify the filename, or use the second option as the name of a column which contains the filename. If you use the second option, you need to set the first option to the empty string.'),
          );
  }
  
  /**
   *
   */
  function PMA_transformation_application_octetstream__download(&$buffer, $options = array(), $meta = '')
  {
      global $row, $fields_meta;
  
      if (isset($options[0]) && !empty($options[0])) {
          $cn = $options[0]; // filename
      } else {
          if (isset($options[1]) && !empty($options[1])) {
              foreach ($fields_meta as $key => $val) {
                  if ($val->name == $options[1]) {
                      $pos = $key;
                      break;
                  }
              }
              if (isset($pos)) {
                  $cn = $row[$pos];
              }
          }
          if (empty($cn)) {
              $cn = 'binary_file.dat';
          }
      }
  
      return
        sprintf(
          '<a href="transformation_wrapper.php%s&amp;ct=application/octet-stream&amp;cn=%s" title="%s">%s</a>',
  
          $options['wrapper_link'],
          urlencode($cn),
          htmlspecialchars($cn),
          htmlspecialchars($cn)
        );
  }
  
  ?>