function kwresearch_save_page_keyword in Keyword Research 6
Same name and namespace in other branches
- 7 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:
3 calls to kwresearch_save_page_keyword()
- kwresearch_nodeapi in ./
kwresearch.module - Implementation of hook_nodeapi().
- 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 429
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)
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 (!$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 (!$page_keyword_obj->uid) {
$page_keyword_obj->uid = $page_keyword_obj0->uid ? $page_keyword_obj0->uid : $GLOBALS['user']->uid;
// set logged in user as default
}
if (!is_numeric($page_keyword_obj->priority)) {
$page_keyword_obj->priority = $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 (!$page_keyword_obj0->kid) {
$sql = '
INSERT INTO {kwresearch_page_keyword}
(kid, nid, path, priority, uid)
VALUES (%d, %d,"%s", %d, %d)
';
db_query($sql, $kid, $pn->nid, $pn->path, $page_keyword_obj->priority, $page_keyword_obj->uid);
}
else {
// if priority > 0 update table, otherwise delete record
if ($page_keyword_obj->priority) {
$sql = '
UPDATE {kwresearch_page_keyword}
SET priority = %d
WHERE kid = %d
AND path="%s"
';
db_query($sql, $page_keyword_obj->priority, $kid, $pn->path);
}
else {
kwresearch_delete_page_keyword($kid, $pid);
}
}
kwresearch_update_keyword_page_counts($kid);
return $kid;
}