function og_node_type_form_submit in Organic groups 5
Same name and namespace in other branches
- 5.8 og.module \og_node_type_form_submit()
- 5.3 og.module \og_node_type_form_submit()
- 5.7 og.module \og_node_type_form_submit()
- 6.2 og.module \og_node_type_form_submit()
- 6 og.module \og_node_type_form_submit()
File
- ./
og.module, line 1555
Code
function og_node_type_form_submit($form_id, $form_values) {
$type = $form_values['type'];
$var = 'og_content_type_usage';
$new = $form_values[$var];
$old = $form_values['old_' . $var];
if ($new != $old) {
/**
* Rebuild the node access database *for a single content type*.
* TODO: older versions of mySQL can't do subselect.
*/
db_query("DELETE FROM {node_access} WHERE nid IN (SELECT nid FROM {node} WHERE type = '%s')", $type);
// If not in 'safe mode', increase the maximum execution time:
if (!ini_get('safe_mode')) {
set_time_limit(240);
}
$result = db_query("SELECT nid FROM {node} WHERE type = '%s'", $type);
while ($node = db_fetch_object($result)) {
$loaded_node = node_load($node->nid, NULL, TRUE);
// To preserve database integrity, only aquire grants if the node
// loads successfully.
if (!empty($loaded_node)) {
node_access_acquire_grants($loaded_node);
}
}
cache_clear_all();
drupal_set_message(t('The node access table was rebuilt for %type posts.', array(
'%type' => node_get_types('name', $type),
)));
}
}