Source of file MemberWidgetsWidgetExtension.php
Size: 1,545 Bytes - Last Modified: 2021-12-23T10:58:27+00:00
/var/www/docs.ssmods.com/process/src/code/MemberWidgetsWidgetExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | <?php class MemberWidgetsWidgetExtension extends DataExtension { public function editMemberWidgetLink() { return singleton('MemberWidgets_Controller')->Link("editWidget/{$this->owner->ID}"); } public function disableMemberWidgetLink() { return singleton('MemberWidgets_Controller')->Link("disableWidget/{$this->owner->ID}"); } protected function isOwner($member = null) { if ($this->owner->Parent()->is_a('MemberWidgetArea')) return ($member || ($member = Member::currentUser())) && $member->ID == MemberWidgetArea::get()->filter('ID',$this->owner->ParentID)->limit(1)->first()->MemberID; else return false; } protected function isAdmin() { return Permission::check('ADMIN'); } public function canEditCurrent() { return $this->canEdit(Member::currentUser()); } public function canEdit($member = null) { return $this->IsOwner($member) || $this->isAdmin(); } public function canDisableCurrent($PageID) { $filter = array(); $filter['PageID'] = $PageID; $filter['MemberID'] = Member::currentUserID(); $disabledWidgetsIDs = array(); if (($memberWidgets_Page = MemberWidgets_Page::get()->filter($filter)->limit(1)->first()) && $memberWidgets_Page->exists()) $disabledWidgetsIDs = array_flip(explode(',', $memberWidgets_Page->DisabledWidgets)); return !isset($disabledWidgetsIDs[$this->owner->ID]) && ((!$this->owner->Parent()->is_a('MemberWidgetArea') && $member = Member::currentUser()) || $this->isAdmin()); } public function currentPageID() { return Controller::curr()->ID; } } |