PageRenderTime 48ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/concrete/src/Sharing/SocialNetwork/Link.php

http://github.com/concrete5/concrete5
PHP | 44 lines | 38 code | 6 blank | 0 comment | 0 complexity | a76cbffb842bacc03efd0e27bd443972 MD5 | raw file
Possible License(s): MIT, LGPL-2.1, MPL-2.0-no-copyleft-exception, BSD-3-Clause
  1. <?php
  2. namespace Concrete\Core\Sharing\SocialNetwork;
  3. use Concrete\Core\Entity\Site\Site;
  4. use Database;
  5. use Doctrine\ORM\Mapping as ORM;
  6. class Link
  7. {
  8. public static function getList(Site $site = null)
  9. {
  10. $em = \ORM::entityManager();
  11. $site = is_object($site) ? $site : \Core::make('site')->getSite();
  12. return $em->getRepository('\Concrete\Core\Entity\Sharing\SocialNetwork\Link')->findBy(array('site' => $site), array('ssHandle' => 'asc'));
  13. }
  14. public static function exportList($node)
  15. {
  16. $child = $node->addChild('sociallinks');
  17. $list = static::getList();
  18. foreach ($list as $link) {
  19. $linkNode = $child->addChild('link');
  20. $linkNode->addAttribute('service', $link->getServiceObject()->getHandle());
  21. $linkNode->addAttribute('url', $link->getURL());
  22. }
  23. }
  24. public static function getByID($id)
  25. {
  26. $em = \ORM::entityManager();
  27. $r = $em->find('\Concrete\Core\Entity\Sharing\SocialNetwork\Link', $id);
  28. return $r;
  29. }
  30. public static function getByServiceHandle($ssHandle, Site $site = null)
  31. {
  32. $em = \ORM::entityManager();
  33. $site = is_object($site) ? $site : \Core::make('site')->getSite();
  34. return $em->getRepository('\Concrete\Core\Entity\Sharing\SocialNetwork\Link')->findOneBy(
  35. array('ssHandle' => $ssHandle, 'site' => $site)
  36. );
  37. }
  38. }