parametri espliciti

This commit is contained in:
boyska 2017-05-23 12:26:38 +02:00
parent f2183d21de
commit f765a4b00c

View file

@ -1,4 +1,7 @@
<?php
const PARAGRAPH = 'audio';
const LINKFIELD = 'field_audio_link';
function isArchive(string $url): bool {
$pos = strpos($url, "archive.org/");
if($pos === FALSE) {
@ -28,18 +31,18 @@ function normalizeArchive(string $url) {
*/
function audiofix_ror_paragraph_presave(Drupal\Core\Entity\EntityInterface $entity) {
// per i paragraph, getType() === bundle().
if($entity->bundle() !== 'audio') { // audio e' il nome del nostro paragraph type
if($entity->bundle() !== PARAGRAPH) { // audio e' il nome del nostro paragraph type
return;
}
// campi utili: field_audio_link e field_durata
$link = $entity->get('field_audio_link')->getValue();
$link = $entity->get(LINKFIELD)->getValue();
if(count($link) == 0) { return; }
$link = $link[0]['uri'];
if(is_string($link) && isArchive($link)) {
$norm = normalizeArchive($link);
if($norm !== $link) {
\Drupal::logger('audiofix_ror')->notice('Aggiornato da :old a :new', array(":old" => $link, ":new" => $norm));
$entity->set('field_audio_link', $norm);
$entity->set(LINKFIELD, $norm);
}
}
}