You are here

class FileAutocompleteController in Ubercart 8.4

Utility functions for autocompleting file download filenames.

Hierarchy

Expanded class hierarchy of FileAutocompleteController

File

uc_file/src/Controller/FileAutocompleteController.php, line 12

Namespace

Drupal\uc_file\Controller
View source
class FileAutocompleteController {

  /**
   * Returns autocompletion content for file name textfield.
   *
   * @param \Symfony\Component\HttpFoundation\Request $request
   *   The request of the page.
   *
   * @return \Symfony\Component\HttpFoundation\JsonResponse
   *   A JSON response.
   */
  public function autocompleteFilename(Request $request) {
    $matches = [];

    // Get the typed string from the URL, if it exists.
    if ($input = $request->query
      ->get('q')) {
      $typed_string = Tags::explode($input);
      $typed_string = mb_strtolower(array_pop($typed_string));
      $filenames = \Drupal::database()
        ->select('uc_files', 'f')
        ->fields('f', [
        'filename',
      ])
        ->condition('filename', '%' . \Drupal::database()
        ->escapeLike($typed_string) . '%', 'LIKE')
        ->execute();
      while ($name = $filenames
        ->fetchField()) {
        $matches[] = [
          'value' => $name,
        ];
      }
    }
    return new JsonResponse($matches);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FileAutocompleteController::autocompleteFilename public function Returns autocompletion content for file name textfield.