Comments: on this page. Click to read or post your own.

/sapphire/core/model/DataObject.php

Description

A single database record & abstract class for the data-access-model.

Object-level access control by Permission. Permission codes are arbitrary strings which can be selected on a group-by-group basis.

  1.  class Article extends DataObject implements PermissionProvider {
  2.      static $api_access true;
  3.  
  4.      public function canView($member false{
  5.          return Permission::check('ARTICLE_VIEW');
  6.      }
  7.      public function canEdit($member false{
  8.          return Permission::check('ARTICLE_EDIT');
  9.      }
  10.      public function canDelete({
  11.          return Permission::check('ARTICLE_DELETE');
  12.      }
  13.      public function canCreate({
  14.          return Permission::check('ARTICLE_CREATE');
  15.      }
  16.      public function providePermissions({
  17.          return array(
  18.              'ARTICLE_VIEW' => 'Read an article object',
  19.              'ARTICLE_EDIT' => 'Edit an article object',
  20.              'ARTICLE_DELETE' => 'Delete an article object',
  21.              'ARTICLE_CREATE' => 'Create an article object',
  22.          );
  23.      }
  24.  }

Object-level access control by Group membership:

  1.  class Article extends DataObject {
  2.      static $api_access true;
  3.  
  4.      public function canView($member false{
  5.          if(!$member$member Member::currentUser();
  6.         return $member->inGroup('Subscribers');
  7.      }
  8.      public function canEdit($member false{
  9.          if(!$member$member Member::currentUser();
  10.         return $member->inGroup('Editors');
  11.      }
  12.  
  13.      // ...
  14.  }

Classes
Class Description
DataObject A single database record & abstract class for the data-access-model.
blog comments powered by Disqus

Documentation generated on Sun, 19 Oct 2008 06:39:48 +1300 by phpDocumentor 1.3.2