You are here

function seochecklist_admin_settings_submit in SEO Checklist 5.2

Same name and namespace in other branches
  1. 5 SEOChecklist.module \SEOChecklist_admin_settings_submit()
  2. 6.3 seochecklist.admin.inc \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.module, line 139
SEO Checklist module allows users to track important SEO techniques on the website.

Code

function seochecklist_admin_settings_submit($form_id, $form_values) {
  global $user;
  $count = 0;
  foreach ($form_values as $key => $value) {
    if (preg_match('/seochecklist_task_/', $key)) {
      $key = explode('_', $key);
      $key = $key[2];
      $current = (bool) db_result(db_query("SELECT completed FROM {seo_checklist} WHERE id = %d", $key));
      if ($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++;
      }
    }
  }

  // Special values not in database.
  variable_set('seo_checklist_link', $form_values['seo_checklist_link']);
  variable_set('seo_checklist_thanks', $form_values['seo_checklist_thanks']);
  variable_set('seo_checklist_podcast', $form_values['seo_checklist_podcast']);
  drupal_set_message(format_plural($count, 'Updated @count task successfully.', 'Updated @count tasks successfully.'));
}