public static function handle($arguments, $content, ShortcodeParser $parser, $tag, array $extra = array())
 {
     if (!empty($arguments['id'])) {
         $document = DMSDocument::get()->byID($arguments['id']);
         if ($document && !$document->isHidden()) {
             if ($content) {
                 return sprintf('<a href="%s">%s</a>', $document->Link(), $parser->parse($content));
             } else {
                 if (isset($extra['element'])) {
                     $extra['element']->setAttribute('data-ext', $document->getExtension());
                     $extra['element']->setAttribute('data-size', $document->getFileSizeFormatted());
                 }
                 return $document->Link();
             }
         }
     }
     $error = ErrorPage::get()->filter('ErrorCode', '404')->First();
     if ($error) {
         return $error->Link();
     }
     return '';
 }
 public function documentautocomplete()
 {
     $term = isset($_GET['term']) ? $_GET['term'] : '';
     $term_sql = Convert::raw2sql($term);
     $data = DMSDocument::get()->where("(\"ID\" LIKE '%" . $term_sql . "%' OR \"Filename\" LIKE '%" . $term_sql . "%' OR \"Title\" LIKE '%" . $term_sql . "%')")->sort('ID ASC')->limit(20);
     $return = array();
     foreach ($data as $doc) {
         $return[] = array('label' => $doc->ID . ' - ' . $doc->Title, 'value' => $doc->ID);
     }
     return json_encode($return);
 }