function kwresearch_save_page_keyword in Keyword Research 7
Same name and namespace in other branches
- 6 kwresearch.module \kwresearch_save_page_keyword()
Saves a page keyword. Links a site keyword to a node/page
Parameters
int|str $pid - If int, treated as a nid. If string treated as a path:
str $keyword:
int $kid:
stdClass $page_keyword_obj - object containing parameters:
bool $update_stats - if true, will generate and save keyword stats data:
bool $save_term - if true, will also call save_site_keyword:
4 calls to kwresearch_save_page_keyword()
- kwresearch_node_insert in ./
kwresearch.module - Implements hook_node_insert().
- kwresearch_node_save in ./
kwresearch.module - kwresearch_page_keywords_edit_form_submit in ./
kwresearch.admin.inc - Processes the page keyword edit form
- kwresearch_toggle_page_keyword_js in ./
kwresearch.module - AJAX handler to create, delete and set priorities for page keywords
File
- ./
kwresearch.module, line 547
Code
function kwresearch_save_page_keyword($pid, $keyword, $kid = NULL, $page_keyword_obj = NULL, $update_stats = FALSE, $save_term = FALSE) {
//kwresearch_save_site_keyword($keyword, $kid = NULL, $keyword_obj = NULL, $update_stats = FALSE)
$msgs = array();
if (!is_object($page_keyword_obj)) {
$page_keyword_obj = new stdClass();
}
$keyword = strtolower($keyword);
$key = $kid ? $kid : $keyword;
if (!$key) {
return FALSE;
}
$keyword_obj0 = kwresearch_load_site_keyword($key);
// if site keyword does not exist, create it
if (!isset($keyword_obj0->kid) || !$keyword_obj0->kid) {
$kid = kwresearch_save_site_keyword($keyword);
$keyword_obj0 = kwresearch_load_site_keyword($kid);
}
$kid = $keyword_obj0->kid;
$page_keyword_obj0 = kwresearch_load_page_keyword($pid, $kid);
if (empty($page_keyword_obj->uid)) {
$page_keyword_obj->uid = !empty($page_keyword_obj0->uid) ? $page_keyword_obj0->uid : $GLOBALS['user']->uid;
// set logged in user as default
}
if (empty($page_keyword_obj->priority) || !is_numeric($page_keyword_obj->priority)) {
$page_keyword_obj->priority = !empty($page_keyword_obj0->priority) ? $page_keyword_obj0->priority : -1;
// set default to standard
}
$pn = kwresearch_construct_pathnid_obj($pid, $msgs);
// page keyword does not exists, create it
if (!isset($page_keyword_obj0->kid) || !$page_keyword_obj0->kid) {
$sql = '
INSERT INTO {kwresearch_page_keyword}
(kid, nid, path, priority, uid)
VALUES (:kid, :nid,:path, :priority, :uid)
';
$args = array(
':kid' => $kid,
':nid' => $pn->nid,
':path' => $pn->path,
':priority' => $page_keyword_obj->priority,
':uid' => $page_keyword_obj->uid,
);
db_query($sql, $args);
}
else {
// if priority > 0 update table, otherwise delete record
if ($page_keyword_obj->priority) {
$sql = '
UPDATE {kwresearch_page_keyword}
SET priority = :priority
WHERE kid = :kid
AND path = :path
';
$args = array(
':priority' => $page_keyword_obj->priority,
':kid' => $kid,
':path' => $pn->path,
);
db_query($sql, $args);
}
else {
kwresearch_delete_page_keyword($kid, $pid);
}
}
kwresearch_update_keyword_page_counts($kid);
return $kid;
}