29 lines
798 B
PHP
29 lines
798 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Shaarli\Front\Controller\Admin;
|
|
|
|
use Slim\Http\Request;
|
|
use Slim\Http\Response;
|
|
|
|
/**
|
|
* Controller used to retrieve/update bookmark's metadata.
|
|
*/
|
|
class MetadataController extends ShaarliAdminController
|
|
{
|
|
/**
|
|
* GET /admin/metadata/{url} - Attempt to retrieve the bookmark title from provided URL.
|
|
*/
|
|
public function ajaxRetrieveTitle(Request $request, Response $response): Response
|
|
{
|
|
$url = $request->getParam('url');
|
|
|
|
// Only try to extract metadata from URL with HTTP(s) scheme
|
|
if (!empty($url) && strpos(get_url_scheme($url) ?: '', 'http') !== false) {
|
|
return $response->withJson($this->container->metadataRetriever->retrieve($url));
|
|
}
|
|
|
|
return $response->withJson([]);
|
|
}
|
|
}
|