X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FShared%2FLocaleTrait.php;fp=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FShared%2FLocaleTrait.php;h=5042dd236331d8019f26efdece93205352fd674c;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/vendor/drupal/console/src/Command/Shared/LocaleTrait.php b/vendor/drupal/console/src/Command/Shared/LocaleTrait.php new file mode 100644 index 000000000..5042dd236 --- /dev/null +++ b/vendor/drupal/console/src/Command/Shared/LocaleTrait.php @@ -0,0 +1,93 @@ +files['remote']->uri) ? $project_info->files['remote']->uri : false; + $local_path = isset($project_info->files['local']->uri) ? $project_info->files['local']->uri : false; + + if (strpos($project_info->version, 'dev') !== false) { + return $this->trans('commands.locale.translation.status.messages.no-translation-files'); + } + if (locale_translation_use_remote_source() && $remote_path && $local_path) { + return sprintf( + $this->trans('commands.locale.translation.status.messages.file-not-found'), + $local_path, + $remote_path + ); + } elseif ($local_path) { + return + sprintf( + $this->trans('commands.locale.translation.status.messages.local-file-not-found'), + $local_path + ); + } + + return $this->trans('commands.locale.translation.status.messages.translation-not-determined'); + } + + /** + * LOCALE_TRANSLATION_REMOTE + * and LOCALE_TRANSLATION_LOCAL indicate available new translations, + * LOCALE_TRANSLATION_CURRENT indicate that the current translation is them + * most recent. + */ + protected function projectsStatus() + { + $status_report = []; + $status = locale_translation_get_status(); + foreach ($status as $project_id => $project) { + foreach ($project as $langcode => $project_info) { + $info = ''; + if ($project_info->type == LOCALE_TRANSLATION_LOCAL || $project_info->type == LOCALE_TRANSLATION_REMOTE) { + $local = isset($project_info->files[LOCALE_TRANSLATION_LOCAL]) ? $project_info->files[LOCALE_TRANSLATION_LOCAL] : null; + $remote = isset($project_info->files[LOCALE_TRANSLATION_REMOTE]) ? $project_info->files[LOCALE_TRANSLATION_REMOTE] : null; + $local_age = $local->timestamp? format_date($local->timestamp, 'html_date'): ''; + $remote_age = $remote->timestamp? format_date($remote->timestamp, 'html_date'): ''; + + if ($local_age >= $remote_age) { + $info = $this->trans('commands.locale.translation.status.messages.translation-project-updated'); + } else { + $info = $this->trans('commands.locale.translation.status.messages.translation-project-available'); + } + } elseif ($project_info->type == LOCALE_TRANSLATION_CURRENT) { + $info = $this->trans('commands.locale.translation.status.messages.translation-project-updated'); + } else { + $local_age = ''; + $remote_age = ''; + $info = $this->createInfoString($project_info); + } + + $status_report[$langcode][] = [$project_info->name, $project_info->version, $local_age, $remote_age ,$info ]; + } + } + + return $status_report; + } +}