git-svn-id: file:///svn-source/pmgr/branches/pre_0.1_work_20090819@808 97e9348a-65ac-dc4b-aefc-98561f571b83
77 lines
2.1 KiB
PHP
77 lines
2.1 KiB
PHP
<?php
|
|
class Option extends AppModel {
|
|
|
|
var $hasMany =
|
|
array('OptionValue',
|
|
);
|
|
|
|
var $knows =
|
|
array('User', 'Site', 'Group');
|
|
|
|
|
|
static $option_set = array();
|
|
|
|
function getAll($name, $force = false) {
|
|
/* $this->prClassLevel(30); */
|
|
/* //$this->OptionValue->prClassLevel(30); */
|
|
/* $this->Group->Membership->prClassLevel(30); */
|
|
/* $this->OptionValue->SiteOption->prClassLevel(30); */
|
|
/* $this->OptionValue->UserOption->prClassLevel(30); */
|
|
/* $this->OptionValue->GroupOption->prClassLevel(30); */
|
|
/* $this->OptionValue->DefaultOption->prClassLevel(30); */
|
|
$this->prEnter(compact('name'));
|
|
|
|
if (!empty(self::$option_set[$name]) && !$force)
|
|
return $this->prReturn(self::$option_set[$name]);
|
|
|
|
self::$option_set[$name] = array();
|
|
|
|
$site_id = $this->Site->currentSiteId();
|
|
$user_id = $this->User->currentUserId();
|
|
$group_ids = $this->Group->currentGroupIds();
|
|
|
|
/* $site_id = 2; */
|
|
/* $user_id = 4; */
|
|
/* $group_ids = $this->Group->groupIds($user_id, $site_id); */
|
|
|
|
if (!empty($site_id))
|
|
self::$option_set[$name] =
|
|
array_merge(self::$option_set[$name],
|
|
$this->OptionValue->SiteOption->values($site_id, $name));
|
|
|
|
if (!empty($user_id))
|
|
self::$option_set[$name] =
|
|
array_merge(self::$option_set[$name],
|
|
$this->OptionValue->UserOption->values($user_id, $name));
|
|
|
|
if (!empty($group_ids))
|
|
self::$option_set[$name] =
|
|
array_merge(self::$option_set[$name],
|
|
$this->OptionValue->GroupOption->values($group_ids, $name));
|
|
|
|
self::$option_set[$name] =
|
|
array_merge(self::$option_set[$name],
|
|
$this->OptionValue->DefaultOption->values($name));
|
|
|
|
return $this->prReturn(self::$option_set[$name]);
|
|
}
|
|
|
|
function get($name) {
|
|
$this->prEnter(compact('name'));
|
|
$values = $this->getAll($name);
|
|
if (empty($values))
|
|
return null;
|
|
return $this->prReturn($values[0]);
|
|
}
|
|
|
|
function enabled($name) {
|
|
$val = $this->get($name);
|
|
return (!empty($val));
|
|
}
|
|
|
|
function disabled($name) {
|
|
return (!$this->enabled($name));
|
|
}
|
|
|
|
}
|