From 1c3fda4a71332adeea9bd2c58cd75db747a1bfa2 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Sun, 11 Oct 2015 22:31:06 +1030 Subject: [PATCH] Update some APIs - Rename DiscussionSearchWillBePerformed to ConfigureDiscussionSearch, same with users - Add some handy methods --- src/Core/Search/Discussion/DiscussionSearcher.php | 4 ++-- src/Core/Search/User/UserSearcher.php | 4 ++-- ...BePerformed.php => ConfigureDiscussionSearch.php} | 2 +- src/Event/ConfigureModelDates.php | 9 +++++++++ ...chWillBePerformed.php => ConfigureUserSearch.php} | 2 +- src/Event/PrepareApiAttributes.php | 12 ++++++++++++ 6 files changed, 27 insertions(+), 6 deletions(-) rename src/Event/{DiscussionSearchWillBePerformed.php => ConfigureDiscussionSearch.php} (95%) rename src/Event/{UserSearchWillBePerformed.php => ConfigureUserSearch.php} (95%) diff --git a/src/Core/Search/Discussion/DiscussionSearcher.php b/src/Core/Search/Discussion/DiscussionSearcher.php index 9b2638890..65aedd103 100644 --- a/src/Core/Search/Discussion/DiscussionSearcher.php +++ b/src/Core/Search/Discussion/DiscussionSearcher.php @@ -16,7 +16,7 @@ use Flarum\Core\Search\SearchCriteria; use Flarum\Core\Search\GambitManager; use Flarum\Core\Repository\DiscussionRepository; use Flarum\Core\Repository\PostRepository; -use Flarum\Event\DiscussionSearchWillBePerformed; +use Flarum\Event\ConfigureDiscussionSearch; use Flarum\Core\Search\SearchResults; use Illuminate\Database\Eloquent\Collection; @@ -82,7 +82,7 @@ class DiscussionSearcher $this->applyLimit($search, $limit + 1); // TODO: inject dispatcher - event(new DiscussionSearchWillBePerformed($search, $criteria)); + event(new ConfigureDiscussionSearch($search, $criteria)); // Execute the search query and retrieve the results. We get one more // results than the user asked for, so that we can say if there are more diff --git a/src/Core/Search/User/UserSearcher.php b/src/Core/Search/User/UserSearcher.php index 2cdea8f53..307446265 100644 --- a/src/Core/Search/User/UserSearcher.php +++ b/src/Core/Search/User/UserSearcher.php @@ -15,7 +15,7 @@ use Flarum\Core\Search\GambitManager; use Flarum\Core\Search\SearchCriteria; use Flarum\Core\Search\SearchResults; use Flarum\Core\Repository\UserRepository; -use Flarum\Event\UserSearchWillBePerformed; +use Flarum\Event\ConfigureUserSearch; /** * Takes a UserSearchCriteria object, performs a search using gambits, @@ -68,7 +68,7 @@ class UserSearcher $this->applyOffset($search, $offset); $this->applyLimit($search, $limit + 1); - event(new UserSearchWillBePerformed($search, $criteria)); + event(new ConfigureUserSearch($search, $criteria)); // Execute the search query and retrieve the results. We get one more // results than the user asked for, so that we can say if there are more diff --git a/src/Event/DiscussionSearchWillBePerformed.php b/src/Event/ConfigureDiscussionSearch.php similarity index 95% rename from src/Event/DiscussionSearchWillBePerformed.php rename to src/Event/ConfigureDiscussionSearch.php index 6c74255f7..cbb46b235 100644 --- a/src/Event/DiscussionSearchWillBePerformed.php +++ b/src/Event/ConfigureDiscussionSearch.php @@ -13,7 +13,7 @@ namespace Flarum\Event; use Flarum\Core\Search\Discussion\DiscussionSearch; use Flarum\Core\Search\SearchCriteria; -class DiscussionSearchWillBePerformed +class ConfigureDiscussionSearch { /** * @var DiscussionSearch diff --git a/src/Event/ConfigureModelDates.php b/src/Event/ConfigureModelDates.php index 83d323479..980182c52 100644 --- a/src/Event/ConfigureModelDates.php +++ b/src/Event/ConfigureModelDates.php @@ -37,4 +37,13 @@ class ConfigureModelDates $this->model = $model; $this->dates = &$dates; } + + /** + * @param string $model + * @return bool + */ + public function isModel($model) + { + return $this->model instanceof $model; + } } diff --git a/src/Event/UserSearchWillBePerformed.php b/src/Event/ConfigureUserSearch.php similarity index 95% rename from src/Event/UserSearchWillBePerformed.php rename to src/Event/ConfigureUserSearch.php index 1fbe09286..8861fedd6 100644 --- a/src/Event/UserSearchWillBePerformed.php +++ b/src/Event/ConfigureUserSearch.php @@ -13,7 +13,7 @@ namespace Flarum\Event; use Flarum\Core\Search\User\UserSearch; use Flarum\Core\Search\SearchCriteria; -class UserSearchWillBePerformed +class ConfigureUserSearch { /** * @var UserSearch diff --git a/src/Event/PrepareApiAttributes.php b/src/Event/PrepareApiAttributes.php index ef45499c1..760657beb 100644 --- a/src/Event/PrepareApiAttributes.php +++ b/src/Event/PrepareApiAttributes.php @@ -10,6 +10,7 @@ namespace Flarum\Event; +use DateTime; use Flarum\Api\Serializer\AbstractSerializer; /** @@ -67,4 +68,15 @@ class PrepareApiAttributes { return $this->serializer instanceof $serializer; } + + /** + * @param DateTime|null $date + * @return string|null + */ + public function formatDate(DateTime $date = null) + { + if ($date) { + return $date->format(DateTime::RFC3339); + } + } }