You are here

function seochecklist_admin_settings_submit in SEO Checklist 6.3

Same name and namespace in other branches
  1. 5.2 seochecklist.module \seochecklist_admin_settings_submit()
  2. 5 SEOChecklist.module \SEOChecklist_admin_settings_submit()
  3. 6.2 seochecklist.module \seochecklist_admin_settings_submit()
  4. 7.3 seochecklist.admin.inc \seochecklist_admin_settings_submit()

Submit callback for seochecklist_admin_settings().

File

./seochecklist.admin.inc, line 110
Administrative page callbacks for the seochecklist module.

Code

function seochecklist_admin_settings_submit($form, &$form_state) {
  global $user;
  $count = 0;
  foreach ($form_state['values'] as $key => $value) {
    if (preg_match('/seochecklist_task_/', $key)) {
      $key = explode('_', $key);
      $key = $key[2];
      $current = db_result(db_query("SELECT completed FROM {seo_checklist} WHERE id = %d", $key));
      if ($current === FALSE) {
        db_query("INSERT INTO {seo_checklist} (completed, uid, id) VALUES (%d, %d, %d)", $value ? time() : 0, $user->uid, $key);
        if ($value == TRUE) {
          $count++;
        }
      }
      elseif ((bool) $current != $value) {

        // If the checkbox changed states, update the record.
        db_query("UPDATE {seo_checklist} SET completed = %d, uid = %d WHERE id = %d", $value ? time() : 0, $user->uid, $key);
        $count++;
      }
    }
  }
  variable_set('seo_checklist_link', $form_state['values']['seochecklist_task_66']);
  variable_set('seo_checklist_book_references', $form_state['values']['seochecklist_task_69']);
  drupal_set_message(format_plural($count, 'Updated @count task successfully.', 'Updated @count tasks successfully.'));
}