| 174 | | if (!isglobalowner( |
|---|
| 175 | | mgd_lookup_table_id((*zv_table)->value.str.val), |
|---|
| 176 | | (*zv_id)->value.lval)) { |
|---|
| 177 | | if (res) mgd_release(res); |
|---|
| 178 | | RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED); |
|---|
| | 179 | /* Switch to anonymous mode for MgdSchema objects */ |
|---|
| | 180 | MGD_PHP_PCLASS_NAME; |
|---|
| | 181 | if (g_hash_table_lookup(mgd_handle()->schema->types, ce->name) == NULL) { |
|---|
| | 182 | if (!isglobalowner( |
|---|
| | 183 | mgd_lookup_table_id((*zv_table)->value.str.val), |
|---|
| | 184 | (*zv_id)->value.lval)) { |
|---|
| | 185 | if (res) mgd_release(res); |
|---|
| | 186 | RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED); |
|---|
| | 187 | } |
|---|
| 190 | | if (!isglobalowner( |
|---|
| 191 | | mgd_lookup_table_id((*zv_table)->value.str.val), |
|---|
| 192 | | (*zv_id)->value.lval)) { |
|---|
| 193 | | RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED); |
|---|
| 194 | | } |
|---|
| 195 | | |
|---|
| 196 | | _MGD_SITEGROUP_FORCE(); |
|---|
| 197 | | php_midgard_create(return_value, NULL, "record_extension", |
|---|
| 198 | | "tablename,oid,domain,name,value,lang", |
|---|
| 199 | | "$q,$d,$q,$q,$q,$d", |
|---|
| 200 | | (*zv_table)->value.str.val, |
|---|
| 201 | | (*zv_id)->value.lval, |
|---|
| 202 | | (*zv_domain)->value.str.val, |
|---|
| 203 | | (*zv_name)->value.str.val, |
|---|
| 204 | | (*zv_value)->value.str.val |
|---|
| 205 | | ,lang |
|---|
| 206 | | ); |
|---|
| 207 | | PHP_CREATE_REPLIGARD("record_extension", |
|---|
| 208 | | return_value->value.lval); |
|---|
| 209 | | _MGD_SITEGROUP_FORCE_REVERT(); |
|---|
| | 199 | /* Switch to anonymous mode for MgdSchema objects */ |
|---|
| | 200 | MGD_PHP_PCLASS_NAME; |
|---|
| | 201 | if (g_hash_table_lookup(mgd_handle()->schema->types, ce->name) == NULL) { |
|---|
| | 202 | if (!isglobalowner( |
|---|
| | 203 | mgd_lookup_table_id((*zv_table)->value.str.val), |
|---|
| | 204 | (*zv_id)->value.lval)) { |
|---|
| | 205 | RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED); |
|---|
| | 206 | } |
|---|
| | 207 | } |
|---|
| | 208 | |
|---|
| | 209 | _MGD_SITEGROUP_FORCE(); |
|---|
| | 210 | php_midgard_create(return_value, NULL, "record_extension", |
|---|
| | 211 | "tablename,oid,domain,name,value,lang", |
|---|
| | 212 | "$q,$d,$q,$q,$q,$d", |
|---|
| | 213 | (*zv_table)->value.str.val, |
|---|
| | 214 | (*zv_id)->value.lval, |
|---|
| | 215 | (*zv_domain)->value.str.val, |
|---|
| | 216 | (*zv_name)->value.str.val, |
|---|
| | 217 | (*zv_value)->value.str.val |
|---|
| | 218 | ,lang); |
|---|
| | 219 | PHP_CREATE_REPLIGARD("record_extension", |
|---|
| | 220 | return_value->value.lval); |
|---|
| | 221 | _MGD_SITEGROUP_FORCE_REVERT(); |
|---|