/** * Custom instance loader that forces access policy checking. * * {@inheritdoc} */ public static function load(xPDO &$xpdo, $className, $criteria, $cacheFlag = true) { $object = null; $object = xPDOObject::load($xpdo, $className, $criteria, $cacheFlag); if ($object && !$object->checkPolicy('load')) { $userid = $xpdo->getLoginUserID(); if (!$userid) { $userid = '0'; } $xpdo->log(xPDO::LOG_LEVEL_INFO, "Principal {$userid} does not have access to requested object of class {$object->_class} with primary key " . print_r($object->getPrimaryKey(false), true)); $object = null; } return $object; }
public static function load(xPDO &$xpdo, $className, $criteria, $cacheFlag = true) { $instance = parent::load($xpdo, 'up2Profile', $criteria, $cacheFlag); if (!is_object($instance) || !$instance instanceof $className) { if (is_numeric($criteria) || is_array($criteria) && !empty($criteria['id'])) { $id = is_numeric($criteria) ? $criteria : $criteria['id']; if ($xpdo->getCount('modUser', array('id' => $id))) { $instance = $xpdo->newObject('up2Profile'); $instance->set('id', $id); $instance->save(); } } } return $instance; }
public static function load(xPDO &$xpdo, $className, $criteria, $cacheFlag = true) { /* @var $instance msCustomerProfile */ $instance = parent::load($xpdo, 'msCustomerProfile', $criteria, $cacheFlag); if (!is_object($instance) || !$instance instanceof $className) { if (is_numeric($criteria) || is_array($criteria) && !empty($criteria['id'])) { $id = is_numeric($criteria) ? $criteria : $criteria['id']; if ($xpdo->getCount('modUser', array('id' => $id))) { $instance = $xpdo->newObject('msCustomerProfile'); $time = time(); $instance->set('id', $id); $instance->fromArray(array('createdon' => $time, 'referrer_code' => md5($id . $time))); $instance->save(); } } } return $instance; }