/** * */ public function setACLWorldAccess($pn_world_access) { if (!($vn_id = (int) $this->getPrimaryKey())) { return null; } require_once __CA_MODELS_DIR__ . '/ca_acl.php'; $vn_table_num = $this->tableNum(); $t_acl = new ca_acl(); $t_acl->load(array('group_id' => null, 'user_id' => null, 'table_num' => $vn_table_num, 'row_id' => $vn_id)); // try to load existing record $t_acl->setMode(ACCESS_WRITE); $t_acl->set('table_num', $vn_table_num); $t_acl->set('row_id', $vn_id); $t_acl->set('user_id', null); $t_acl->set('group_id', null); $t_acl->set('access', $pn_world_access); if ($t_acl->getPrimaryKey()) { $t_acl->update(); } else { $t_acl->insert(); } if ($t_acl->numErrors()) { $this->errors = $t_acl->errors; return false; } return true; }