Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / fontyourface / modules / fontsquirrel_api / fontsquirrel_api.module
index b8b4dab3007ea08db5f72e3c3aacc21860894ef4..0884448bd1f075eaeafa9b066aef49c33c94af0d 100644 (file)
@@ -6,6 +6,7 @@
  */
 
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Link;
 use Drupal\fontyourface\Entity\Font;
 
 /**
@@ -18,18 +19,30 @@ function fontsquirrel_api_fontyourface_api() {
   ];
 }
 
+/**
+ * Implements hook_modules_installed().
+ *
+ * Use this hook instead of hook_install, because the route "font.settings" is
+ * not defined otherwise.
+ */
+function fontsquirrel_api_modules_installed($modules) {
+  if (in_array('fontsquirrel_api', $modules)) {
+    drupal_set_message(t('Due to the number of fonts, automated import from install for Font Squirrel is disabled. Please use @link to import Font Squirrel Fonts.', ['@link' => Link::createFromRoute('@font-your-face settings', 'font.settings')->toString()]));
+  }
+}
+
 /**
  * Implements hook_entity_presave().
  */
 function fontsquirrel_api_entity_presave(EntityInterface $entity) {
   if ($entity instanceof Font) {
-    if ($entity->pid->value == 'fontsquirrel_api' && $entity->isEnabled()) {
+    if ($entity->pid->value == 'fontsquirrel_api' && $entity->isActivated()) {
       $metadata = $entity->getMetadata();
       $directory_location = _fontsquirrel_api_get_font_directory_location($entity);
       file_prepare_directory($directory_location, FILE_CREATE_DIRECTORY);
       $zip_location = file_build_uri('fontyourface/fontsquirrel/' . $metadata['path'] . '-fontfacekit.zip');
       // Throw an exception; make it hard if this fails.
-      $uri = 'http://www.fontsquirrel.com/fontfacekit/' . $metadata['path'];
+      $uri = 'https://www.fontsquirrel.com/fontfacekit/' . $metadata['path'];
       $response = \Drupal::httpClient()->get($uri, ['headers' => ['Accept' => 'text/plain']]);
       if (!file_exists(drupal_realpath($zip_location))) {
         file_unmanaged_save_data($response->getBody(), $zip_location);
@@ -64,7 +77,7 @@ function fontsquirrel_api_entity_presave(EntityInterface $entity) {
 function fontsquirrel_api_page_attachments(&$page) {
   $enabled_fonts = &drupal_static('fontyourface_fonts', []);
   foreach ($enabled_fonts as $font) {
-    if ($font->pid->value == 'fontsquirrel_api' && $font->isEnabled()) {
+    if ($font->pid->value == 'fontsquirrel_api' && $font->isActivated()) {
       $directory_location = _fontsquirrel_api_get_font_directory_location($font);
       $page['#attached']['html_head'][] = [
         [
@@ -94,7 +107,7 @@ function fontsquirrel_api_page_attachments(&$page) {
 function fontsquirrel_api_preprocess_font(array &$variables) {
   $font = $variables['elements']['#font'];
   $metadata = $font->getMetadata();
-  if ($font->pid->value == 'fontsquirrel_api' && $font->isDisabled()) {
+  if ($font->pid->value == 'fontsquirrel_api' && $font->isDeactivated()) {
     $variables['font_preview']['#markup'] = '<img style=\'max-width:100%;\' src="' . $metadata['preview_image'] . '" />';
   }
 }
@@ -126,7 +139,7 @@ function fontsquirrel_api_preprocess_font__full(array &$variables) {
 function fontsquirrel_api_preprocess_font__teaser(array &$variables) {
   $font = $variables['elements']['#font'];
   $metadata = $font->getMetadata();
-  if ($font->pid->value == 'fontsquirrel_api' && $font->isDisabled()) {
+  if ($font->pid->value == 'fontsquirrel_api' && $font->isDeactivated()) {
     $variables['font_preview']['#markup'] = '<img width="160px" src="https://www.fontsquirrel.com/widgets/test_drive/' . $metadata['checksum'] . '?s=144&t=AaGg" />';
   }
 }
@@ -225,7 +238,7 @@ function _fontsquirrel_api_get_fonts_from_api() {
  */
 function fontsquirrel_api_get_font_family_info($font_import) {
   try {
-    $uri = 'http://www.fontsquirrel.com/api/familyinfo/' . $font_import->family_urlname;
+    $uri = 'https://www.fontsquirrel.com/api/familyinfo/' . $font_import->family_urlname;
     $response = \Drupal::httpClient()->get($uri, ['headers' => ['Accept' => 'text/plain']]);
     $data = json_decode($response->getBody());
   }