function ss_keyword_trace() { require 'ss-keyword-trace.php'; if (strpos($_SERVER['PHP_SELF'], 'wp-admin') == false) { if (!empty($_GET['s'])) { $keyword = trim($_GET['s']); save_keyword($keyword, @$_SERVER['HTTP_REFERER']); } } }
function push_keyword($kword_type, $async = true) { global $CONFIGS, $DEVSAV, $PARAMS; $is_uni_caption = false; $regex_caption = null; $summary_str = null; $summary_md5 = null; $detail_item = null; $device = $DEVSAV['device']; switch ($kword_type) { case 'kword_title': $summary_str = $PARAMS['title']; $detail_item = ['time' => time(), 'url' => $DEVSAV['Visiting'], 'title' => $summary_str, 'region' => $DEVSAV['region']]; break; case 'kword_interest': case 'kword_cart': case 'kword_favorite': case 'kword_submit': $caption = @$PARAMS['cap']; $summary_str = @$PARAMS['kword']; $detail_item = ['time' => time(), 'url' => $DEVSAV['Visiting'], 'caption' => $caption, 'kword' => $summary_str]; break; case 'kword_account': $caption = @$PARAMS['cap']; $username = check_input(@$PARAMS['user']); $nickname = check_input(@$PARAMS['nick']); $is_uni_caption = true; $regex_caption = "/@{$caption}\$/i"; $summary_str = make_capview($username, $nickname, $caption); $detail_item = ['time' => time(), 'caption' => $caption, 'username' => $username, 'nickname' => $nickname]; break; } if (empty($summary_str)) { omp_trace('summary_str empty'); return; } if (empty($summary_md5)) { $summary_md5 = md5($summary_str); } //这是一个队列,旧的就会被推出。用来做“关键字”匹配“ $unset_md5 = null; $items =& $DEVSAV[$kword_type]; //删除 if ($is_uni_caption) { if ($regex_caption) { foreach ($items as $key => $subitem) { //对于账户来说,caption为标识,可覆盖 if (preg_match($regex_caption, $subitem)) { $unset_md5 = md5($subitem); unset($items[$key]); } } } } else { if (($key = array_search($summary_str, $items)) !== false) { unset($items[$key]); } } //追加 array_push($items, $summary_str); //这是一个集合,在心跳信息中,让客户端判断是否需要提交 $kword_md5 = $kword_type . '_md5'; if (!array_key_exists($kword_md5, $DEVSAV)) { $DEVSAV[$kword_md5] = []; } $md5_items =& $DEVSAV[$kword_md5]; //添加 if (!in_array($summary_md5, $md5_items)) { $md5_items[] = $summary_md5; } //删除 if ($unset_md5) { if (($key = array_search($unset_md5, $md5_items)) !== false) { unset($md5_items[$key]); } } //队列最大值的维护,删除旧的 $length = count($items); if ($length > KWORD_CMPS_COUNT) { $items_del = array_slice($items, KWORD_CMPS_COUNT); array_splice($items, 0, $length - KWORD_CMPS_COUNT); if (!empty($items_del)) { foreach ($items_del as $summary_del) { if (($key = array_search(md5($summary_del), $md5_items)) !== false) { unset($md5_items[$key]); } } } } //保持到详细列表, 在单独文件中 $items = array_values($items); if ($async) { sync_job($kword_type, [$device, $items, $detail_item]); } else { save_keyword($kword_type, $device, $items, $detail_item); } }
$jsonTextKeyword = iconv ('windows-1251', 'utf-8', $jsonTextKeyword); $KeywordArray = json_decode($jsonTextKeyword, true); }*/ //Проверяем количество запросов $quantity = 0; foreach ($KeywordArray as $val) { $quantity += count($val) - 1; } if ($quantity > 50) { print 'Количество запросов превышает допустимое!'; exit; } //Удаляем пробелы trim Удаляет пробелы (или другие символы) из начала и конца строки unset($val); unset($temp); foreach ($KeywordArray as $array) { foreach ($array as $val) { $temp[] = trim($val); } $tempKeyword[] = $temp; unset($temp); } unset($temp); $KeywordArray = $tempKeyword; unset($tempKeyword); $result = save_keyword($KeywordArray); } echo $result; } else { echo "PHP is working correctly. Congratulations!"; }