4c07643a6508865cbc0fa431d854b84460a7d4fd
[GitHub/WoltLab/WCF.git] /
1 <?php
2 declare(strict_types=1);
3 namespace wcf\system\message\embedded\object;
4 use wcf\system\cache\runtime\UserProfileRuntimeCache;
5 use wcf\system\html\input\HtmlInputProcessor;
6
7 /**
8 * Parses embedded users.
9 *
10 * @author Alexander Ebert
11 * @copyright 2001-2018 WoltLab GmbH
12 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
13 * @package WoltLabSuite\Core\System\Message\Embedded\Object
14 */
15 class UserMessageEmbeddedObjectHandler extends AbstractMessageEmbeddedObjectHandler {
16 /**
17 * @inheritDoc
18 */
19 public function parse(HtmlInputProcessor $htmlInputProcessor, array $embeddedData) {
20 $objectIDs = [];
21 if (!empty($embeddedData['user'])) {
22 for ($i = 0, $length = count($embeddedData['user']); $i < $length; $i++) {
23 $objectIDs[] = intval($embeddedData['user'][$i][0]);
24 }
25 }
26
27 return array_unique($objectIDs);
28 }
29
30 /**
31 * @inheritDoc
32 */
33 public function loadObjects(array $objectIDs) {
34 return UserProfileRuntimeCache::getInstance()->getObjects($objectIDs);
35 }
36 }