You are here

function kwresearch_save_site_keyword in Keyword Research 7

Same name and namespace in other branches
  1. 6 kwresearch.module \kwresearch_save_site_keyword()

Saves site keyword user settings data to database

Parameters

str $keyword:

int $kid:

keyword stdClass $keyword_obj - use to set priority, value or uid.:

boolean $update_stats - set to true if you want to refresh the stats for the keyword:

5 calls to kwresearch_save_site_keyword()
kwresearch_save_keyword_record_stats in includes/stats.inc
Saves keyword stats data to site keywords table
kwresearch_save_page_keyword in ./kwresearch.module
Saves a page keyword. Links a site keyword to a node/page
kwresearch_site_keywords_edit_form_submit in ./kwresearch.admin.inc
Processes site keyword edit form saves settings to database
kwresearch_site_keywords_import_form_submit in ./kwresearch.admin.inc
Processes site keywords import form
kwresearch_toggle_site_keyword_js in ./kwresearch.module
AJAX handler to enable site keyword priority to be set

File

./kwresearch.module, line 239

Code

function kwresearch_save_site_keyword($keyword, $kid = NULL, $keyword_obj = NULL, $update_stats = FALSE) {
  global $user;
  $keyword = strtolower($keyword);
  $key = $kid ? $kid : $keyword;
  if (!$key) {
    return FALSE;
  }
  $keyword_obj0 = kwresearch_load_site_keyword($key);
  if (empty($keyword_obj)) {
    $keyword_obj = kwresearch_site_keyword_create(array(
      'keyword' => $key,
    ));
  }
  if (!$kid && !empty($keyword_obj0->kid)) {
    $kid = $keyword_obj0->kid;
  }
  if (empty($keyword_obj->uid)) {
    $keyword_obj->uid = !empty($keyword_obj0->uid) ? $keyword_obj0->uid : $user->uid;

    // set logged in user as default
  }
  if (empty($keyword_obj->priority)) {
    $keyword_obj->priority = !empty($keyword_obj0->priority) ? $keyword_obj0->priority : -1;

    // set default to standard
  }
  if (empty($keyword_obj->value)) {
    $keyword_obj->value = !empty($keyword_obj0->value) ? $keyword_obj0->value : -1;

    // set to default value to 0
  }
  if (!$kid) {

    /*
    $sql = '
      INSERT INTO {kwresearch_keyword}
      (uid, keyword, word_count, priority, value)
      VALUES (%d, "%s", %d, %d, %d)
    ';
    db_query($sql, $keyword_obj->uid, $keyword, str_word_count($keyword), $keyword_obj->priority, $keyword_obj->value);
    $kid = db_last_insert_id('kwresearch_keyword', 'kid');
    */
    $query = db_insert('kwresearch_keyword')
      ->fields(array(
      'uid' => $keyword_obj->uid,
      'keyword' => $keyword,
      'word_count' => str_word_count($keyword),
      'priority' => $keyword_obj->priority,
      'value' => $keyword_obj->value,
    ));
    $kid = $query
      ->execute();
  }
  else {

    /*
    $sql = '
      UPDATE {kwresearch_keyword}
      SET
        priority = %d,
        priority = %f,
        uid = %d
      WHERE kid = %d
    ';
    db_query($sql, $keyword_obj->priority, $keyword_obj->value, $keyword_obj->uid, $kid);
    */
    $query = db_update('kwresearch_keyword')
      ->condition('kid', $kid)
      ->fields(array(
      'priority' => $keyword_obj->priority,
      'value' => $keyword_obj->value,
      'uid' => $keyword_obj->uid,
    ));
    $query
      ->execute();
  }

  // update keyword stats if set
  if ($update_stats) {
    $kw_stats = kwresearch_get_keyword_stats_data($keyword, $msgs);
    if ($msgs) {
      foreach ($msgs as $msg) {
        drupal_set_message($msg['value'], $msg['status']);
      }
    }
  }
  return $kid;
}