Source of file SocialExtension.php
Size: 2,114 Bytes - Last Modified: 2022-02-21T10:00:05+00:00
/var/www/docs.ssmods.com/process/src/src/Extensions/SocialExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?php /** * Created by PhpStorm. * User: tony * Date: 6/30/18 * Time: 11:37 PM */ namespace A2nt\CMSNiceties\Extensions; use Sheadawson\Linkable\Forms\LinkField; use Sheadawson\Linkable\Models\Link; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TextField; use SilverStripe\ORM\DataExtension; use SilverStripe\Security\Member; class SocialExtension extends DataExtension { private static $db = [ //'PhoneNumber' => 'Varchar(255)', ]; private static $has_one = [ 'Facebook' => Link::class, 'LinkedIn' => Link::class, 'Pinterest' => Link::class, 'Instagram' => Link::class, 'Twitter' => Link::class, 'YouTube' => Link::class, 'PublicEmail' => Link::class, 'PhoneNumber' => Link::class, ]; public function updateCMSFields(FieldList $fields) { parent::updateCMSFields($fields); $linkFields = [ LinkField::create('FacebookID', 'Facebook'), LinkField::create('LinkedInID', 'LinkedIn'), LinkField::create('PinterestID', 'Pinterest'), LinkField::create('InstagramID', 'Instagram'), LinkField::create('TwitterID', 'Twitter'), LinkField::create('YouTubeID', 'YouTube'), ]; foreach ($linkFields as $field) { $field->setAllowedTypes(['URL']); } $fields->findOrMakeTab('Root.Social'); $fields->addFieldsToTab('Root.Social', [ LinkField::create('PublicEmailID', 'Public Email') ->setAllowedTypes(['Email']), LinkField::create('PhoneNumberID', 'Phone Number') ->setAllowedTypes(['Phone']), ]); $fields->addFieldsToTab('Root.Social', $linkFields); } public static function byPhone($phone) { $links = Link::get()->filter('Phone', $phone); if ($links->exists()) { return Member::get()->filter( 'PhoneNumberID', array_keys($links->map('ID', 'Title')->toArray()) )->first(); } return null; } } |