franck@2: 'submit', franck@2: '#value' => t('Rebuild og_statistics') franck@2: ); franck@2: franck@2: return $form; franck@2: } franck@2: franck@2: function og_statistics_settings_submit(&$form, &$form_state) { franck@2: // get all group nodes franck@2: $types = og_get_types('group'); franck@2: $placeholders = db_placeholders($types, 'varchar'); franck@2: $result = db_query("SELECT nid FROM {node} WHERE type IN($placeholders)", $types); franck@2: while ($item = db_fetch_object($result)) { franck@2: $nodes[$item->nid] = $item->nid; franck@2: } franck@2: $counter = 0; franck@2: foreach ($nodes as $nid) { franck@2: $counter ++; franck@2: $array[] = $nid; franck@2: if (($counter % 20) == 1) { franck@2: $operations[] = array('og_statistcs_recalc', array($array)); franck@2: $array = array(); franck@2: } franck@2: } franck@2: $operations[] = array('og_statistcs_recalc', array($array)); franck@2: // Execute the batch progress franck@2: $batch = array( franck@2: 'operations' => $operations, franck@2: 'title' => 'Generating statistics', franck@2: 'init_message' => 'Loading group nodes', franck@2: 'error_message' => 'An unrecoverable error has occurred. You can find the error message below. It is advised to copy it to the clipboard for reference.', franck@2: 'finished' => 'og_statistcs_settings_finished', franck@2: ); franck@2: batch_set($batch); franck@2: batch_process('admin/settings/og_statistics'); franck@2: }